ulimit 是一个用于控制 shell 进程资源限制的命令行工具
查看当前资源限制:
使用 ulimit -a 命令可以查看当前用户的所有资源限制。
临时修改资源限制:
使用 ulimit 命令可以在当前 shell 会话中临时修改资源限制。例如,要将最大文件大小限制为 100MB,可以使用以下命令:
ulimit -f 104857600
请注意,这种修改只在当前 shell 会话中有效。当您关闭终端或打开新的终端时,更改将不会保留。
永久修改资源限制:
要永久修改资源限制,需要编辑 /etc/security/limits.conf 文件。在此文件中,您可以为用户或用户组设置资源限制。例如,要将用户 username 的最大文件大小限制为 100MB,可以在文件中添加以下行:
username soft fsize 104857600
username hard fsize 104857600
这里的 soft 表示软限制,hard 表示硬限制。软限制是用户可以自行增加的限制,而硬限制是系统管理员设置的最大限制。用户不能将自己的软限制超过硬限制。
修改其他资源限制:
ulimit 命令支持许多其他资源限制选项。以下是一些常见的选项:
-n:最大文件描述符数-u:最大进程数-m:最大内存使用量(以 KB 为单位)-t:最大 CPU 时间(以秒为单位)-v:最大虚拟内存使用量(以 KB 为单位)要修改这些资源限制,只需将 ulimit 命令中的 -f 替换为相应的选项即可。
在脚本中使用 ulimit:
您还可以在 shell 脚本中使用 ulimit 命令来设置资源限制。例如,以下脚本将最大文件大小限制为 100MB,并运行一个名为 my_app 的应用程序:
#!/bin/bash
ulimit -f 104857600
./my_app
请注意,脚本中的 ulimit 设置仅在脚本运行期间有效。当脚本执行完成后,资源限制将恢复为默认值。