Ubuntu 永久修改 ulimit -n

chanjsq發表於2018-12-22

本文主要參考 Increase Open Files Limit 和若干 Stack Overflow 的回答,並經過反覆實踐整理。

設定檔案最大開啟數

# 系統
echo 'fs.file-max = 65535' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# 使用者
sudo tee -a /etc/security/limits.conf << EOF
*               hard    nofile          65535
*               soft    nofile          65535
root            hard    nofile          65535
root            soft    nofile          65535
EOF

# Systemd
sudo sed -i '/DefaultLimitNOFILE/c DefaultLimitNOFILE=65535' /etc/systemd/*.conf
sudo systemctl daemon-reexec

驗證

# 開啟新的終端
# ssh remote_user@host

# 檢視系統限制
cat /proc/sys/fs/file-max

# 檢視使用者硬限制
ulimit -Hn

# 檢視使用者軟限制
ulimit -Sn

# 檢視某程式的限制
cat /proc/PID/limits # 將 PID 替換為具體的程式 ID

# 檢視其他使用者限制
su - www -c 'ulimit -aHS' -s '/bin/bash'

備註

不需要在 /etc/pam.d/common-session 末尾新增 session required pam_limits.so

參考資料

相關文章