/etc/security/limits.conf
に行を追加して、開いているファイルの数を増やしました。
* hard nofile 4096
root hard nofile 16384
ただし、ulimit -n
を実行すると、デフォルト値である1024と表示されます。ログアウトしてログインしましたが、それでも1024が表示されます。変更を適用するにはどうすればよいですか?
bash
を使用している場合、ulimit -n
はソフト制限のみを表示します。ハードリミットを取得するには、ulimit -Hn
。
私のシステムでは、これがわかります:
$ ulimit -n
1024
$ ulimit -Hn
4096
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