在 CentOS 中修改 ulimit(用户资源限制)通常分为临时修改和永久修改两种方式,下面按常见场景说明。
直接使用 ulimit 命令:
# 查看所有限制
ulimit -a
# 修改最大打开文件数
ulimit -n 65535
# 修改最大进程数
ulimit -u 4096
# 不限制 core 文件大小
ulimit -c unlimited
⚠️ 注意:
/etc/security/limits.confvi /etc/security/limits.conf
在文件末尾添加(示例):
* soft nofile 65535
* hard nofile 65535
* soft nproc 4096
* hard nproc 4096
说明:
*:所有用户(也可指定用户名,如 www)soft:软限制hard:硬限制nofile:打开文件数nproc:进程数✅ 修改后重新登录生效。
如果是服务(如 Nginx、MySQL),limits.conf 可能不生效,需要改 systemd。
vi /etc/systemd/system.conf
修改或取消注释:
DefaultLimitNOFILE=65535
DefaultLimitNPROC=4096
然后执行:
systemctl daemon-reexec
systemctl edit nginx
添加:
[Service]
LimitNOFILE=65535
LimitNPROC=4096
重载:
systemctl daemon-reload
systemctl restart nginx
# 当前用户
ulimit -n
# 某个进程
cat /proc/<pid>/limits
grep pam_limits /etc/pam.d/login
如果你能告诉我:
我可以给你更精确的配置示例。