回答:
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
/etc/pam.d/common-session-noninteractiveために追加する必要がありました。
pam_limits.soしており、で有効にしてい/etc/pam.d/common-sessionます。私はで構成されている/etc/security/limits.confため、ハードとソフトリミット持っているxは、ユーザnofile64000がsudo -u x、その後ulimit -a変更が適用されなかったことを私に示しています。私はそれを認識しsu、sudo異なるPAM構成を持っているので、それを適切に機能させるには、pam_limits.soin を有効にする必要がありました/etc/pam.d/common-session-noninteractive。ユースケースが何であるか疑問に思っている場合は、ansibleとsudoを使用してユーザーを変更します。