一、编辑 limits.conf
sudo vi /etc/security/limits.conf
在文件最后面添加这 4 行:
* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535
二、编辑 PAM 配置
sudo vi /etc/pam.d/common-session
添加一行:
session required pam_limits.so
再检查另一个文件:
sudo vi /etc/pam.d/common-session-noninteractive
同样加上:
session required pam_limits.so
三、 修改 systemd 全局限制
Ubuntu 很多进程(如 Python、Scrapy、Redis)是 systemd 托管的,limits.conf 对它们不生效,必须改这里:
sudo vi /etc/systemd/system.conf
找到并修改:
DefaultLimitNOFILE=65535
再编辑 user.conf:
sudo vi /etc/systemd/user.conf
同样:
DefaultLimitNOFILE=65535
四、重载配置
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
五、重启系统(必须)
sudo reboot
六、验证是否生效
ulimit -n
显示 65535 就成功了