在 CentOS 中重置(或修改)ulimit(资源限制),通常分为当前会话临时重置、用户级永久配置、系统级(systemd)配置三种方式。下面按常见场景说明。
ulimit -a
查看某一项,例如:
ulimit -n # 文件描述符
ulimit -u # 最大进程数
ulimit -n 65535
ulimit -u 4096
⚠️ 注意:
查看硬限制:
ulimit -Hn
ulimit -Sn
/etc/security/limits.confvi /etc/security/limits.conf
示例(对所有用户):
* soft nofile 65535
* hard nofile 65535
* soft nproc 4096
* hard nproc 4096
指定用户:
appuser soft nofile 65535
appuser hard nofile 65535
grep pam_limits /etc/pam.d/login
grep pam_limits /etc/pam.d/sshd
应有:
session required pam_limits.so
✅ 重新登录后生效
如果是 systemd 启动的服务(如 nginx、java),limits.conf 可能不生效。
systemctl edit nginx
写入:
[Service]
LimitNOFILE=65535
LimitNPROC=4096
然后:
systemctl daemon-reload
systemctl restart nginx
vi /etc/systemd/system.conf
DefaultLimitNOFILE=65535
DefaultLimitNPROC=4096
systemctl daemon-reexec
sysctl fs.file-max
临时:
sysctl -w fs.file-max=1000000
永久:
vi /etc/sysctl.conf
fs.file-max = 1000000
sysctl -p
LimitNOFILE如果你能说明:
我可以给你精确命令。