在 CentOS 系统中,ulimit
是一个用于控制 shell 进程资源限制的命令。优化 ulimit
配置可以提高系统性能和稳定性。以下是一些优化 CentOS ulimit
配置的步骤:
ulimit
设置首先,查看当前的 ulimit
设置:
ulimit -a
/etc/security/limits.conf
编辑 /etc/security/limits.conf
文件来设置用户级别的资源限制。这个文件允许你为不同的用户或用户组设置资源限制。
sudo vi /etc/security/limits.conf
在文件中添加或修改以下行:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
这些设置将所有用户的文件描述符数量限制为 65536,进程数限制为 4096。你可以根据需要调整这些值。
/etc/pam.d/system-auth
和 /etc/pam.d/password-auth
确保 PAM(Pluggable Authentication Modules)配置文件中包含对 limits.conf
的引用。
编辑 /etc/pam.d/system-auth
和 /etc/pam.d/password-auth
文件:
sudo vi /etc/pam.d/system-auth
sudo vi /etc/pam.d/password-auth
在文件中添加以下行:
session required pam_limits.so
/etc/sysctl.conf
编辑 /etc/sysctl.conf
文件来设置系统级别的资源限制。
sudo vi /etc/sysctl.conf
添加或修改以下行:
fs.file-max = 100000
net.core.somaxconn = 65535
net.ipv4.ip_local_port_range = 1024 65535
这些设置将允许系统打开的最大文件数为 100000,最大连接数为 65535,并扩展本地端口范围。
sysctl
设置应用新的 sysctl
设置:
sudo sysctl -p
某些服务可能需要重启才能应用新的 ulimit
设置。例如,如果你修改了数据库服务的配置,可能需要重启数据库服务:
sudo systemctl restart mysqld
sudo systemctl restart httpd
最后,验证新的 ulimit
设置是否生效:
ulimit -a
你应该看到新的文件描述符和进程数限制已经生效。
通过以上步骤,你可以优化 CentOS 系统的 ulimit
配置,提高系统的性能和稳定性。