打开文件数过多(too many open files)
我的操作系统是redhat,内核是Linux version 2.4.20,用tomcat作为中间件,出现了Too many open files错误。
通过ulimit -a查看结果为
open files (-n) 1024
/proc/sys/fs/file-max值为209600
网上说和file-max的值有关,但是我的都已经209600了,应该不会有问题的,
和ulimit -n看到的不一样,
请问ulimit -a和file-max什么关系,怎么使ulimit -a查看到的open files信息是我想要设的值,怎么解决这个问题。
谢谢各位大虾
[解决办法]
/proc/sys/fs/file-nr为当前已打开文件数,你可以参考一下。
/proc/sys/fs/file-max为系统总打开文件数限制,而ulimit -a看到的是单个进程限制,你应该设置这个值。
ulimit -n 4096可以将其设置为4096
不过要想系统重启后仍然有效,需要将此命令加入/etc/profile
[解决办法]
改一下/etc/security/limits.conf文件试一下,注意你要打开文件的用户