ulimit
是一个用于控制 shell 进程资源使用的命令行工具
打开终端。
临时设置资源限制:要临时更改资源限制,只需在终端中运行 ulimit
命令。例如,要限制一个进程可以打开的最大文件数为 1024,可以运行以下命令:
ulimit -n 1024
请注意,这种更改仅对当前 shell 会话有效。关闭终端或重新启动系统后,更改将丢失。
永久设置资源限制:要将资源限制更改为永久设置,请编辑 /etc/security/limits.conf
文件。使用文本编辑器(如 vi
或 nano
)打开文件:
sudo vi /etc/security/limits.conf
在文件末尾添加以下行,以设置特定用户或用户组的资源限制。例如,要将用户 “username” 的最大文件数限制为 1024,请添加以下行:
username soft nofile 1024
username hard nofile 1024
这里,soft
是软限制,用户可以在不超过硬限制的情况下临时增加资源使用。hard
是硬限制,用户无法超过此限制。
如果要为整个用户组设置资源限制,请在用户名前添加 @
符号,如 @groupname
。
保存并关闭文件。更改将在下次用户登录时生效。
重新加载 PAM 配置:要使更改立即生效,可以重新加载 PAM(可插拔认证模块)配置。运行以下命令:
sudo systemctl restart sshd
这将重新启动 SSH 服务并应用新的资源限制。请注意,这可能会中断正在运行的 SSH 会话。根据您的系统配置和服务,您可能需要重新加载其他服务或重启系统。
通过以上步骤,您可以使用 ulimit
防止 CentOS 资源耗尽。请确保根据您的需求和系统资源合理设置限制。过低的限制可能导致正常应用程序无法运行,而过高的限制可能使系统容易受到攻击或耗尽资源。