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