ubuntu

Ubuntu ulimit如何限制进程资源使用

小樊
48
2025-09-13 14:35:58
栏目: 智能运维

在Ubuntu中,ulimit命令用于控制shell启动的进程可以使用的资源。你可以使用ulimit来限制各种资源,如文件大小、进程数、CPU时间等。以下是一些常见的ulimit用法示例:

查看当前资源限制

ulimit -a

限制单个用户的资源使用

1. 限制打开文件的最大数量

ulimit -n <number_of_files>

例如,限制用户最多只能打开1024个文件:

ulimit -n 1024

2. 限制进程数

ulimit -u <number_of_processes>

例如,限制用户最多只能同时运行5个进程:

ulimit -u 5

3. 限制CPU时间

ulimit -t <seconds>

例如,限制进程最多只能使用10秒的CPU时间:

ulimit -t 10

4. 限制内存使用

ulimit -v <kilobytes>

例如,限制进程最多只能使用512MB的内存:

ulimit -v 524288

5. 限制数据段大小

ulimit -d <kilobytes>

例如,限制进程的数据段最多只能使用256MB:

ulimit -d 268435456

永久限制资源使用

ulimit命令设置的限制只在当前shell会话中有效。要永久设置这些限制,你需要编辑系统的资源限制配置文件。

1. 编辑 /etc/security/limits.conf

打开文件并添加以下行:

<username> soft <resource> <limit>
<username> hard <resource> <limit>

例如,限制用户john最多只能打开1024个文件:

john soft nofile 1024
john hard nofile 1024

2. 编辑 /etc/pam.d/common-session/etc/pam.d/common-session-noninteractive

确保包含以下行以应用limits.conf中的设置:

session required pam_limits.so

3. 重启系统或重新登录

为了使更改生效,你需要重启系统或重新登录。

注意事项

通过以上步骤,你可以有效地限制Ubuntu系统中进程的资源使用。

0
看了该问题的人还看了