ulimit 是一个用于控制 shell 进程及其子进程资源使用的命令行工具。通过 ulimit,你可以设置或查看用户级别的资源限制,例如文件大小、打开的文件描述符数量等。以下是如何使用 ulimit 调整进程资源限制的步骤:
在调整资源限制之前,你可以使用以下命令查看当前用户的资源限制:
ulimit -a
这将显示所有当前设置的资源限制。
你可以使用 ulimit 命令来调整特定的资源限制。以下是一些常见的资源限制及其调整方法:
ulimit -f <size>
例如,将文件大小限制设置为 1GB:
ulimit -f 1073741824
ulimit -n <number>
例如,将打开的文件描述符数量限制设置为 4096:
ulimit -n 4096
ulimit -t <seconds>
例如,将 CPU 时间限制设置为 3600 秒(1小时):
ulimit -t 3600
ulimit -v <size>
例如,将内存使用限制设置为 2GB:
ulimit -v 2147483648
ulimit 设置的资源限制仅在当前 shell 会话中有效。要永久设置资源限制,你需要编辑系统的资源限制配置文件。以下是一些常见的配置文件:
/etc/security/limits.conf这个文件用于设置用户级别的资源限制。编辑该文件并添加以下行:
<username> soft <resource> <limit>
<username> hard <resource> <limit>
例如,为 user1 设置文件大小限制为 1GB 和打开的文件描述符数量限制为 4096:
user1 soft fsize 1073741824
user1 hard fsize 1073741824
user1 soft nofile 4096
user1 hard nofile 4096
/etc/sysctl.conf这个文件用于设置系统级别的资源限制。编辑该文件并添加以下行:
fs.file-max = <number>
例如,将系统允许的最大文件描述符数量设置为 65536:
fs.file-max = 65536
修改 /etc/sysctl.conf 文件后,运行以下命令使更改生效:
sysctl -p
ulimit 的支持有所不同。通过以上步骤,你可以有效地使用 ulimit 调整进程的资源限制。