我正在使用tomcat 7和java 1.7开发debian服务器.这是一个收到多个TCP连接的应用程序,每个TCP连接都是java进程打开的文件.
看着/proc/pid of java/fd我发现,有时,打开文件的数量超过1024,当发生这种情况时,我会在catalina.out日志中找到stacktrace_SocketException: Too many open files_
我发现有关此错误的一切,人们都提到了ulimit,我已经改变了这个问题并且错误一直在发生.这是配置:
在 /etc/security/limits.conf
root soft nofile 8192
root hard nofile 8192
Run Code Online (Sandbox Code Playgroud)
在 /etc/sysctl.conf
fs.file-max = 300000
Run Code Online (Sandbox Code Playgroud)
该ulimit -a命令返回:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 8192
pipe size (512 bytes, …Run Code Online (Sandbox Code Playgroud)