增加Ubuntu / Upstart的最大打开文件(initctl)

时间:2013-11-15 07:37:14

标签: ubuntu file-descriptor upstart

这是在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

然而,当我cat / proc / {PID} /限制时,我得到:

Limit                     Soft Limit           Hard Limit           Units     
Max open files            1024                 4096                 files     

仅当我从Upstart通过sudo initctl start service_name 启动进程时才会发生。如果我自己开始这个过程,它会确认我的设置。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:18)

这需要添加到您的Upstart脚本中才能正常工作:

limit nofile 50000 50000
  

“这是设计新贵不看   /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/