ulimit 是一个用于控制 shell 进程及其子进程可以使用的系统资源限制的命令。通过设置合适的 ulimit 值,可以防止资源耗尽,从而提高系统的稳定性和安全性。以下是一些常见的 ulimit 设置及其作用:
ulimit -n <number>
这可以防止进程打开过多的文件导致资源耗尽。ulimit -u <number>
这可以限制单个用户可以同时运行的进程数量。设置最大虚拟内存大小:
ulimit -v <number>
这可以防止进程消耗过多的虚拟内存。
设置最大物理内存大小(某些系统支持):
ulimit -m <number>
ulimit -t <seconds>
这可以防止进程长时间占用CPU资源。ulimit -s <number>
这可以防止进程使用过多的堆栈空间。ulimit -c 0
这可以防止核心转储文件占用大量磁盘空间。ulimit -d <number>
ulimit -f <number>
ulimit 的设置可以是针对单个用户的,也可以是全局的。全局限制通常在 /etc/security/limits.conf 文件中设置。例如:
* soft nofile 1024
* hard nofile 2048
这会为所有用户设置软限制为1024,硬限制为2048。
ulimit 值,但并非所有系统都支持。通过合理设置 ulimit,可以有效地防止资源耗尽,提高系统的稳定性和安全性。