这是在Ubuntu 12.04.3 LTS服务器上。
我已经将以下内容添加到/etc/security/limits.conf(我的Golang进程以root身份运行):
* hard nofile 50000 * soft nofile 50000 root hard nofile 50000 root soft nofile 50000
我已经将以下内容添加到/etc/pam.d/common-session
session required pam_limits.so
我已经将以下内容添加到/etc/sysctl.conf中:
fs.file-max = 50000
然而,当我猫/ proc / {PID} /限制,我得到:
Limit Soft Limit Hard Limit Units Max open files 1024 4096 files
只有当我通过sudo initctl start service_name从Upstart启动进程时才会发生这种情况。 如果我自己开始这个过程,它确认我的设置。
我该如何解决?
这需要被添加到你的Upstart脚本中才能工作:
limit nofile 50000 50000
“设计上,upstart并没有关注系统作业的/etc/security/limits.conf.PAM设置只适用于用户会话,而不适用于系统服务。 从https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669
资料来源:
https://github.com/saltstack/salt/issues/5323
http://bryanmarty.com/blog/2012/02/10/setting-nofile-limit-upstart/