ulimit
是一个用于控制 shell 进程资源使用的命令行工具。在 CentOS 系统中,它可以用来限制用户进程的资源使用,例如文件描述符数量、进程数等。以下是 ulimit
命令的详细解释:
ulimit [选项] [资源限制]
-a
:显示当前所有资源限制。-c
:设置核心文件(core dump)的最大大小。-d
:设置进程的数据段最大大小。-f
:设置单个进程可以打开的最大文件描述符数量。-H
:设置硬资源限制(hard limit),即不可更改的限制。-m
:设置进程可以使用的内存最大值。-n
:设置单个进程可以打开的最大文件描述符数量(与 -f
相同)。-p
:设置管道缓冲区的最大大小。-s
:设置栈的最大大小。-t
:设置进程可以使用的最大 CPU 时间。-u
:设置用户可以创建的最大进程数。-v
:设置进程可以使用的虚拟内存最大值。-x
:设置单个进程可以使用的最大锁数量。资源限制参数可以是数字,也可以是 unlimited
(表示无限制)。例如:
ulimit -n 1024 # 设置单个进程可以打开的最大文件描述符数量为 1024
ulimit -m unlimited # 设置进程可以使用的内存无限制
ulimit -a
ulimit -n 2048
ulimit -u 512
ulimit -v 2147483648
ulimit
命令设置的资源限制仅对当前 shell 会话有效。要永久更改资源限制,需要修改 /etc/security/limits.conf
文件。sudo
命令以 root 用户身份运行 ulimit
命令来更改其他用户的资源限制。总之,ulimit
是一个非常有用的命令行工具,可以帮助你控制 shell 进程的资源使用,从而提高系统的稳定性和性能。