在 CentOS 系统中,ulimit 命令用于限制 shell 启动的进程能够使用的资源。以下是一些常见的 ulimit 选项及其用法:
ulimit -a:这个命令会显示当前 shell 会话的所有资源限制。
ulimit -f <size>,例如,限制文件大小为 100MB:ulimit -f 104857600。ulimit -u <number>,例如,限制用户可以同时运行的进程数为 100:ulimit -u 100。ulimit -t <seconds>,例如,限制进程的 CPU 时间为 3600 秒(1小时):ulimit -t 3600。ulimit -v <size>,例如,限制进程的内存使用为 512MB:ulimit -v 536870912。ulimit -n <number>,例如,限制打开的文件描述符数为 1024:ulimit -n 1024。ulimit 命令设置的资源限制只在当前 shell 会话中有效。如果你希望永久设置资源限制,可以编辑 /etc/security/limits.conf 文件。
编辑 /etc/security/limits.conf 文件:
sudo vi /etc/security/limits.conf
添加限制规则:
在文件末尾添加以下行来设置用户 username 的资源限制:
username soft nofile 1024
username hard nofile 2048
这行配置将用户的软限制设置为 1024,硬限制设置为 2048。
重新登录以应用更改:
修改 /etc/security/limits.conf 文件后,需要重新登录或重启系统以使更改生效。
请注意,修改 /etc/security/limits.conf 文件需要 root 权限,并且确保你为正确的用户设置了资源限制。某些系统服务可能有自己的资源限制配置文件,例如 /etc/systemd/system.conf 和 /etc/systemd/user.conf。