ulimit
是一个用于控制 shell 启动的进程能够使用的系统资源的命令。你可以使用 ulimit
命令来限制各种资源,如文件大小、进程数、CPU 时间等。以下是一些常见的 ulimit
用法示例:
ulimit -f <size_in_blocks>
例如,限制文件大小为 10MB:
ulimit -f 10240
ulimit -u <number_of_processes>
例如,限制用户可以同时运行的进程数为 100:
ulimit -u 100
ulimit -t <seconds>
例如,限制进程的CPU时间为 3600秒(1小时):
ulimit -t 3600
ulimit -v <size_in_kilobytes>
例如,限制进程的内存使用为 512MB:
ulimit -v 524288
ulimit -n <number_of_open_files>
例如,限制打开文件描述符的数量为 2048:
ulimit -n 2048
上述命令设置的资源限制只在当前 shell 会话中有效。如果你希望永久设置这些限制,可以将相应的 ulimit
命令添加到用户的 shell 配置文件中,如 .bashrc
或 .bash_profile
。
例如,在 .bashrc
文件中添加以下行:
ulimit -f 10240
ulimit -u 100
ulimit -t 3600
ulimit -v 524288
ulimit -n 2048
你可以使用 ulimit -a
命令来查看当前 shell 会话中的所有资源限制:
ulimit -a
ulimit
设置的限制是针对单个用户的,如果你需要系统范围的资源限制,可以使用 pam_limits.so
模块或其他系统配置文件(如 /etc/security/limits.conf
)。通过这些方法,你可以有效地控制进程的资源使用,防止系统资源被过度消耗。