ulimit 是一个用于控制 shell 进程及其子进程可以使用的系统资源的命令行工具。通过 ulimit,你可以限制诸如文件大小、进程数、CPU 时间等资源的使用。以下是一些常见的 ulimit 选项及其用法:
限制文件大小
ulimit -f <size>
例如,限制单个文件的最大大小为 100MB:
ulimit -f 100000
限制进程数
ulimit -u <number>
例如,限制用户可以同时运行的最大进程数为 100:
ulimit -u 100
限制CPU时间
ulimit -t <seconds>
例如,限制进程的最大CPU时间为 300秒:
ulimit -t 300
限制内存使用
ulimit -v <size>
例如,限制进程的最大虚拟内存为 512MB:
ulimit -v 512000
限制打开文件描述符的数量
ulimit -n <number>
例如,限制每个进程可以同时打开的最大文件描述符数为 1024:
ulimit -n 1024
上述 ulimit 命令设置的是当前 shell 会话的限制。如果你希望这些设置在系统重启后仍然有效,可以将这些命令添加到用户的 shell 配置文件中(例如 .bashrc 或 .bash_profile)。
如果你希望为所有用户设置这些限制,可以将这些命令添加到 /etc/security/limits.conf 文件中。例如:
* soft nofile 1024
* hard nofile 2048
这将为所有用户设置软限制为 1024,硬限制为 2048。
你可以使用以下命令查看当前的 ulimit 设置:
ulimit -a
这将显示所有当前的限制设置。
通过这些方法,你可以有效地控制和管理系统资源的使用,确保系统的稳定性和安全性。