/etc/security/limits.conf 未套用

/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內容是:

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

但沒有成功。我的作業系統是Ubuntu 17.04.

答案1

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

答案2

推薦建立目錄而/etc/systemd/*.d/不是直接編輯。/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 -n和來檢查最大開啟檔案數和最大進程數的新限制ulimit -u

請參閱systemd-system.conf線上說明頁了解詳情。

相關內容