在 CentOS 系统中,查看和设置 ulimit(用户资源限制)通常可以使用 ulimit 命令或查看相关配置文件。
ulimit -a
示例输出:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 1024
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
ulimit -n # 打开文件数
ulimit -u # 最大用户进程数
ulimit -s # 栈大小
ulimit -c # core 文件大小
注意:
ulimit查看的是当前 shell 会话的限制,不同用户、不同服务可能不同。
su - username
ulimit -a
cat /proc/sys/fs/file-max
cat /proc/<pid>/limits
例如:
cat /proc/1234/limits
CentOS 中 ulimit 通常通过以下文件配置:
/etc/security/limits.confcat /etc/security/limits.conf
示例:
* soft nofile 65535
* hard nofile 65535
/etc/security/limits.d/*.confls /etc/security/limits.d/
cat /etc/security/limits.d/*.conf
如果是系统服务(如 Nginx、MySQL):
systemctl show nginx | grep Limit
或在 service 文件中:
[Service]
LimitNOFILE=65535
ulimit -n 65535
重启或新开 shell 后失效。
ulimit 只对当前 shell 及子进程生效limits.conf 后需重新登录limits.conf 完全控制如果你有具体场景(如“MySQL 打开文件数不够”或“Docker 容器里查看 ulimit”),可以告诉我,我可以给你更针对性的方法。