在 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
配置,提高系統的性能和穩定性。