我有一个websocket服务.这是有错误的:"太多打开的文件",但我已经设置了系统配置:
/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
Run Code Online (Sandbox Code Playgroud)
所以我认为我的系统配置正确.
我的服务由主管管理,可能是主管限制?
检查过程由主管开始:
cat /proc/815/limits
Max open files 1024 4096 files
Run Code Online (Sandbox Code Playgroud)
检查过程手册启动:
cat /proc/900/limits
Max open files 65000 65000 files
Run Code Online (Sandbox Code Playgroud)
原因是使用主管管理服务.如果我重新启动supervisor并重新启动子进程,那么当启动系统管理程序自动启动时,它是"max open files"ok(65000)但错误(1024).
可能是主管启动级别太高而系统配置在主管启动时不起作用?
编辑:
系统:ubuntu 12.04 64bit
这不是主管问题,系统重启后所有进程自动启动都没有使用系统配置(最大打开文件= 1024),但重新启动它没问题.
更新
也许问题是:
现在的问题是,如何设置全局nofile限制,因为我不想在我需要的每个upstart脚本中设置nofile限制.