私は/etc/security/limits.conf
を持っています、それは適用されていないようです:
a soft nofile 1048576 # default: 1024
a hard nofile 2097152
a soft noproc 262144 # default 128039
a hard noproc 524288
ここで、a
はユーザー名です。ulimit -Hn
およびulimit -Sn
を実行すると、次のように表示されます。
4096
1024
/etc/security/limits.d
には、コンテンツが他に1つだけあります。
scylla - core unlimited
scylla - memlock unlimited
scylla - nofile 200000
scylla - as unlimited
scylla - nproc 8096
また、これらの値を/etc/security/limits.conf
に追加してから再起動してみました。
echo '
session required pam_limits.so
' | Sudo tee -a /etc/pam.d/common-session
しかし、それはうまくいきませんでした。私のOSはUbuntu 17.04
です。
https://superuser.com/questions/1200539/cannot-increase-open-file-limit-past-4096-ubuntu/1200818#=
どうやらUbuntu 16以来のバグがあります。
基本的に:
/etc/systemd/user.conf
を編集し、DefaultLimitNOFILE=1048576
を追加します。/etc/systemd/system.conf
を編集し、DefaultLimitNOFILE=2097152
を追加します。クレジットは @ mkasberg に送られます。
デフォルトの/etc/systemd/system.conf
および/etc/systemd/user/conf
ファイルを編集したくない場合の代替策:
次の内容で新しいファイル/etc/systemd/system.conf.d/limits.conf
を作成します。
[Manager]
DefaultLimitNOFILE=1048576:2097152
DefaultLimitNPROC=262144:524288
rootとしてsystemctl daemon-reexec
を実行します
ログアウトして再度ログインする
ulimit -a
またはulimit -n
とulimit -u
のどちらかを使用して新しい制限を確認し、それぞれ最大オープンファイルと最大プロセスを確認します。
詳細は systemd-system.conf
マンページ を参照してください。