在 CentOS 系統中,ulimit
參數用于控制 shell 會話和系統資源的使用限制。要修改 ulimit
參數,可以通過以下幾種方法:
ulimit
查看當前 ulimit
設置:
ulimit -a
臨時修改某個特定的 ulimit
值:
ulimit -n 4096 # 例如,將文件描述符限制增加到 4096
你可以修改以下常見的 ulimit
參數:
-n
:文件描述符限制-u
:用戶進程數限制-m
:內存使用限制(以 KB 為單位)-t
:CPU 時間限制(以秒為單位)-l
:最大鎖定內存限制(以 KB 為單位)-s
:堆棧大小限制(以 KB 為單位)-v
:虛擬內存限制(以 KB 為單位)ulimit
參數要永久修改 ulimit
參數,需要編輯系統配置文件。
編輯 /etc/security/limits.conf
文件:
sudo vi /etc/security/limits.conf
在文件末尾添加以下內容:
* soft nofile 4096
* hard nofile 4096
這會將所有用戶的文件描述符軟限制和硬限制設置為 4096。你可以根據需要修改用戶名和限制值。
編輯 /etc/pam.d/common-session
和 /etc/pam.d/common-session-noninteractive
文件:
sudo vi /etc/pam.d/common-session
sudo vi /etc/pam.d/common-session-noninteractive
在文件末尾添加以下內容:
session required pam_limits.so
編輯 /etc/profile
或 ~/.bashrc
文件:
sudo vi /etc/profile
或
vi ~/.bashrc
在文件末尾添加以下內容:
ulimit -n 4096
這會為所有用戶或當前用戶設置文件描述符限制。
ulimit
參數如果你使用的是 systemd,可以通過修改服務單元文件來設置 ulimit
參數。
找到服務單元文件:
sudo systemctl status your_service.service
編輯服務單元文件:
sudo vi /etc/systemd/system/your_service.service
在 [Service]
部分添加 LimitNOFILE
參數:
[Service]
LimitNOFILE=4096
重新加載 systemd 配置并重啟服務:
sudo systemctl daemon-reload
sudo systemctl restart your_service.service
通過以上方法,你可以根據需要修改 CentOS 系統中的 ulimit
參數。