13

これは Ubuntu 12.04.3 LTS サーバー上にあります。

以下を /etc/security/limits.conf に追加しました (私の Golang プロセスはルートとして実行されます)。

*      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}/limits を cat すると、次のようになります。

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

これは、 Sudo initctl start service_name を介して Upstart からプロセスを開始した場合にのみ発生します。自分でプロセスを開始すると、設定が認識されます。

これを修正するにはどうすればよいですか?

4

1 に答える 1

18

動作させるには、これを 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/

于 2013-11-15T07:59:24.463 に答える