web-dev-qa-db-ja.com

/etc/security/limits.confは適用されません

私は/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です。

11
Kokizzu

https://superuser.com/questions/1200539/cannot-increase-open-file-limit-past-4096-ubuntu/1200818#=

どうやらUbuntu 16以来のバグがあります。

基本的に:

  1. ソフト制限の/etc/systemd/user.confを編集し、DefaultLimitNOFILE=1048576を追加します。
  2. ソフト制限の/etc/systemd/system.confを編集し、DefaultLimitNOFILE=2097152を追加します。

クレジットは @ mkasberg に送られます。

11
daniel.gindi

デフォルトの/etc/systemd/system.confおよび/etc/systemd/user/confファイルを編集したくない場合の代替策:

  1. 次の内容で新しいファイル/etc/systemd/system.conf.d/limits.confを作成します。

    [Manager]
    DefaultLimitNOFILE=1048576:2097152
    DefaultLimitNPROC=262144:524288
    
  2. rootとしてsystemctl daemon-reexecを実行します

  3. ログアウトして再度ログインする

  4. ulimit -aまたはulimit -nulimit -uのどちらかを使用して新しい制限を確認し、それぞれ最大オープンファイルと最大プロセスを確認します。

詳細は systemd-system.confマンページ を参照してください。

6
Marc.2377