linux - too many open files?
系统都已经配置了:
/etc/security/limits.conf
* soft nofile 65000
* hard nofile 65000
/etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000
ulimit -n
//output 6500
现有一个很奇怪的现在,有个程序还是会报 “too many open files”,跟了一个下午发现,重启系统后,自动启动的进程的max open files还是默认的1024:
cat /proc/751/limits
Max open files 1024 4096 files
但是手动重启程序后,恢复:
cat /proc/1432/limits
Max open files 65000 65000 files
是不是这些进程启动级别高,以至于启动时系统配置还没生效?哪里没有配置正确?
坏坏的不爱
11 years, 7 months ago
Answers
你用的是不是Ubuntu下的upstart启动的进程?可能和
Upstart
的设置有关。
这里有报过upstart的这个BUG,不过好像它不承认这是BUG,因为本来limits.conf就只对login session生效:
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669
解决方案:
http://bryanmarty.com/blog/2012/02/10/setting-nofile-limit-upstart/
MJvsYY
answered 11 years, 7 months ago