
我有/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 以來就有一個錯誤。
基本上:
- 編輯
/etc/systemd/user.conf
軟限制,然後新增DefaultLimitNOFILE=1048576
. - 編輯
/etc/systemd/system.conf
硬限制,然後新增DefaultLimitNOFILE=2097152
.
信用去往@mkasberg。
答案2
推薦建立目錄而/etc/systemd/*.d/
不是直接編輯。/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
線上說明頁了解詳情。