web-dev-qa-db-ja.com

リブートせずにlimits.confを変更して適用する

/etc/security/limits.confに行を追加して、開いているファイルの数を増やしました。

*    hard nofile 4096
root hard nofile 16384

ただし、ulimit -nを実行すると、デフォルト値である1024と表示されます。ログアウトしてログインしましたが、それでも1024が表示されます。変更を適用するにはどうすればよいですか?

16
mahmood

bashを使用している場合、ulimit -nはソフト制限のみを表示します。ハードリミットを取得するには、ulimit -Hn

私のシステムでは、これがわかります:

$ ulimit -n
1024
$ ulimit -Hn
4096
8
Flup

ulimitコマンドによる変更:

$ ulimit -n 4096
$ ulimit -Hn 16384

現在のユーザーとセッションにのみ適用されます。永続化するには、制限を追加して/etc/security/limits.confを変更する必要があります。

* soft nofile 4096
* hard nofile 16384

ただし、ワイルドカード*rootユーザーには適用されません。これを行うには、明示的に指定する必要があります。

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

これらの制限が適用されます再起動後

変更を適用する場合再起動なしの場合、ファイルの最後に次の行を追加して/etc/pam.d/common-sessionを変更します。

session required pam_limits.so

次回のログイン時に、更新された制限が表示されるはずです。それらを確認できます(ソフト制限とハード制限)。

$ ulimit -a
$ ulimit -Ha
16
Tombart