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 进程的资源使用,从而提高系统的稳定性和性能。