ulimit 是一個用于控制 shell 運行時資源限制的命令
-
打開終端。
-
以 root 用戶身份登錄,或者使用 sudo 命令。
-
查看當前的 ulimit 設置,可以使用以下命令:
ulimit -a
-
根據服務器的性能和需求,調整 ulimit 設置。以下是一些常見的 ulimit 設置:
-
nofile:控制每個進程可以打開的最大文件描述符數量。對于 Web 服務器來說,增加此值可以提高并發連接數。例如,將其設置為 65535:
ulimit -n 65535
-
nproc:控制每個用戶可以創建的最大進程數。增加此值可以提高服務器同時運行的進程數量。例如,將其設置為 4096:
ulimit -u 4096
-
virtual memory:控制每個進程可以使用的最大虛擬內存。增加此值可以防止內存不足的問題。例如,將其設置為無限制:
ulimit -v unlimited
-
open files:控制每個進程可以同時打開的最大文件數量。增加此值可以提高并發連接數。例如,將其設置為 65535:
ulimit -S -n 65535
-
-
為了使這些更改在系統重啟后生效,需要將它們添加到 /etc/security/limits.conf 文件中。使用文本編輯器打開文件,例如:
sudo nano /etc/security/limits.conf
-
在文件末尾添加以下行(根據需要修改值):
* soft nofile 65535 * hard nofile 65535 * soft nproc 4096 * hard nproc 4096 * soft memlock unlimited * hard memlock unlimited
這將為所有用戶設置上述 ulimit 值。如果只想為特定用戶設置這些值,請將 * 替換為用戶名。
-
保存并關閉文件。
-
重新啟動服務器以使更改生效。
請注意,調整 ulimit 設置可能會影響系統性能和穩定性。在進行更改之前,請確保充分了解每個設置的作用,并根據實際需求進行調整。在生產環境中應用更改之前,建議先在測試環境中進行驗證。