ulimit
是 Linux 系统中的一个命令,用于控制 shell 启动的进程所能使用的系统资源的限制。这些资源包括文件大小、内存使用量、CPU 时间、进程数等。通过 ulimit
,系统管理员可以设置用户或用户组的资源限制,以防止个别进程消耗过多资源导致系统不稳定或影响其他用户的操作。
ulimit
设置,可以了解系统对资源的分配情况。ulimit
可以设置多种类型的资源限制,常见的包括:
-f
:限制可创建的文件大小。-n
:限制打开的文件描述符的数量。-u
:限制用户可以启动的进程数。-m
:限制内存的使用量。-t
:限制 CPU 时间。ulimit
来保证每个用户都能公平地使用系统资源。ulimit
设置后不生效可能的原因:
ulimit
设置只在当前 shell 会话中有效,重启 shell 或系统后会失效。/etc/security/limits.conf
文件中进行永久设置。解决方法:
/etc/security/limits.conf
文件,添加如下内容:/etc/security/limits.conf
文件,添加如下内容:username
是用户名,nofile
是打开文件数的限制,数字分别代表软限制和硬限制。/etc/security/limits.conf
后,需要重启系统或重新登录才能生效。假设我们要为用户 testuser
设置打开文件数的软限制为 1024,硬限制为 2048,可以在 /etc/security/limits.conf
中添加以下内容:
testuser soft nofile 1024
testuser hard nofile 2048
然后,重新登录 testuser
账户,使用以下命令验证设置是否生效:
ulimit -Sn # 查看软限制
ulimit -Hn # 查看硬限制
输出应为:
1024
2048
通过以上步骤,可以确保 ulimit
设置正确并生效。