ulimit 是一個用于控制 shell 進程資源限制的命令行工具。你可以使用它來設置或查看用戶進程可以打開的最大文件描述符數量。以下是如何使用 ulimit 控制文件描述符數量的步驟:
ulimit -n
這將顯示當前用戶會話允許的最大文件描述符數量。如果你想臨時增加或減少文件描述符的限制,可以使用以下命令:
ulimit -n <新的限制值>
例如,要將文件描述符限制增加到 4096,可以輸入:
ulimit -n 4096
ulimit -n <新的限制值>
例如,要將文件描述符限制減少到 2048,可以輸入:
ulimit -n 2048
請注意,這些更改僅對當前 shell 會話有效。關閉終端或重新登錄后,更改將丟失。
要永久更改文件描述符限制,你需要編輯系統配置文件。以下是在不同 Linux 發行版上進行的操作:
創建或編輯 /etc/systemd/system.conf 文件:
sudo nano /etc/systemd/system.conf
在文件中找到 DefaultLimitNOFILE 行,并設置為你想要的值:
DefaultLimitNOFILE=4096
保存并關閉文件。
重新加載 systemd 配置并重啟所有服務:
sudo systemctl daemon-reload
sudo systemctl restart <服務名>
編輯 /etc/security/limits.conf 文件:
sudo nano /etc/security/limits.conf
添加以下行以設置特定用戶的文件描述符限制:
<用戶名> soft nofile <新的限制值>
<用戶名> hard nofile <新的限制值>
例如,為 user1 設置限制:
user1 soft nofile 4096
user1 hard nofile 4096
保存并關閉文件。
重新登錄以使更改生效。
通過以上步驟,你可以使用 ulimit 控制文件描述符數量,并根據需要進行臨時或永久設置。