在Ubuntu中,ulimit
命令用于控制shell启动的进程可以使用的资源。你可以使用ulimit
来限制各种资源,如文件大小、进程数、CPU时间等。以下是一些常见的ulimit
用法示例:
ulimit -a
ulimit -n <number_of_files>
例如,限制用户最多只能打开1024个文件:
ulimit -n 1024
ulimit -u <number_of_processes>
例如,限制用户最多只能同时运行5个进程:
ulimit -u 5
ulimit -t <seconds>
例如,限制进程最多只能使用10秒的CPU时间:
ulimit -t 10
ulimit -v <kilobytes>
例如,限制进程最多只能使用512MB的内存:
ulimit -v 524288
ulimit -d <kilobytes>
例如,限制进程的数据段最多只能使用256MB:
ulimit -d 268435456
ulimit
命令设置的限制只在当前shell会话中有效。要永久设置这些限制,你需要编辑系统的资源限制配置文件。
/etc/security/limits.conf
打开文件并添加以下行:
<username> soft <resource> <limit>
<username> hard <resource> <limit>
例如,限制用户john
最多只能打开1024个文件:
john soft nofile 1024
john hard nofile 1024
/etc/pam.d/common-session
和 /etc/pam.d/common-session-noninteractive
确保包含以下行以应用limits.conf
中的设置:
session required pam_limits.so
为了使更改生效,你需要重启系统或重新登录。
通过以上步骤,你可以有效地限制Ubuntu系统中进程的资源使用。