温馨提示×

如何查看centos ulimit

小樊
41
2026-10-11 22:22:12
栏目: 智能运维

在 CentOS 系统中,查看和设置 ulimit(用户资源限制)通常可以使用 ulimit 命令或查看相关配置文件。


一、查看当前 shell 的 ulimit

1. 查看所有限制

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

2. 查看单项限制

ulimit -n   # 打开文件数
ulimit -u   # 最大用户进程数
ulimit -s   # 栈大小
ulimit -c   # core 文件大小

注意:ulimit 查看的是当前 shell 会话的限制,不同用户、不同服务可能不同。


二、查看某用户的 ulimit(已登录用户)

su - username
ulimit -a

三、查看系统级限制

1. 查看系统最大文件描述符

cat /proc/sys/fs/file-max

2. 查看某进程的限制

cat /proc/<pid>/limits

例如:

cat /proc/1234/limits

四、查看 ulimit 配置文件(永久配置)

CentOS 中 ulimit 通常通过以下文件配置:

1. /etc/security/limits.conf

cat /etc/security/limits.conf

示例:

* soft nofile 65535
* hard nofile 65535

2. /etc/security/limits.d/*.conf

ls /etc/security/limits.d/
cat /etc/security/limits.d/*.conf

3. systemd 服务限制(CentOS 7+)

如果是系统服务(如 Nginx、MySQL):

systemctl show nginx | grep Limit

或在 service 文件中:

[Service]
LimitNOFILE=65535

五、临时修改 ulimit(当前会话)

ulimit -n 65535

重启或新开 shell 后失效。


六、常见注意点

  • ulimit 只对当前 shell 及子进程生效
  • 修改 limits.conf 后需重新登录
  • systemd 服务不受 limits.conf 完全控制

如果你有具体场景(如“MySQL 打开文件数不够”或“Docker 容器里查看 ulimit”),可以告诉我,我可以给你更针对性的方法。

0 踩