在 CentOS 系统中,ulimit 命令用于设置用户会话的资源限制。这些限制可以包括打开的文件数、进程数、内存使用量等。以下是一些常用的 ulimit 设置方法:
你可以在当前 shell 会话中临时设置 ulimit 值。例如,要设置最大打开文件数为 65536,可以使用以下命令:
ulimit -n 65536 要永久设置 ulimit 值,你需要编辑系统配置文件。以下是一些常见的配置文件和步骤:
/etc/security/limits.conf这个文件用于设置用户级别的资源限制。编辑这个文件可以影响所有用户或特定用户的资源限制。
sudo vi /etc/security/limits.conf 在文件末尾添加以下行:
* soft nofile 65536 * hard nofile 65536 这将为所有用户设置软硬限制为 65536。如果你只想为特定用户设置,可以将 * 替换为用户名。
/etc/pam.d/common-session这个文件用于设置 PAM(Pluggable Authentication Modules)会话模块的配置。编辑这个文件可以确保 limits.conf 中的设置在用户登录时生效。
sudo vi /etc/pam.d/common-session 在文件末尾添加以下行:
session required pam_limits.so /etc/pam.d/common-session-noninteractive这个文件用于设置非交互式会话的 PAM 配置。编辑这个文件可以确保 limits.conf 中的设置在非交互式会话中生效。
sudo vi /etc/pam.d/common-session-noninteractive 在文件末尾添加以下行:
session required pam_limits.so /etc/systemd/system.conf 和 /etc/systemd/user.conf如果你使用的是 systemd,可以在这些文件中设置资源限制。
编辑 /etc/systemd/system.conf:
sudo vi /etc/systemd/system.conf 在文件中找到 [Manager] 部分,添加或修改以下行:
DefaultLimitNOFILE=65536 编辑 /etc/systemd/user.conf:
sudo vi /etc/systemd/user.conf 在文件中找到 [Manager] 部分,添加或修改以下行:
DefaultLimitNOFILE=65536 修改完配置文件后,需要重新加载 systemd 配置以使更改生效:
sudo systemctl daemon-reload 你可以使用 ulimit 命令来验证设置是否生效:
ulimit -n 这将显示当前用户的最大打开文件数。
通过以上步骤,你可以在 CentOS 系统中永久设置 ulimit 值。