ulimit
是一個用于控制 shell 進程資源使用的命令行工具。通過使用 ulimit
,您可以限制用戶或進程可以使用的系統資源,例如文件描述符、進程數等。這有助于防止 Debian 服務器上的資源耗盡問題。
以下是如何使用 ulimit
防止資源耗盡的一些建議:
限制打開文件描述符的數量:
打開文件描述符的數量可能會導致資源耗盡。您可以使用 ulimit -n
命令來設置每個進程允許打開的最大文件描述符數量。例如,要將最大文件描述符數量設置為 2048,請運行:
ulimit -n 2048
限制進程數:
您可以使用 ulimit -u
命令來限制每個用戶可以運行的最大進程數。例如,要將最大進程數設置為 512,請運行:
ulimit -u 512
限制內存使用:
您可以使用 ulimit -v
命令來限制進程可以使用的最大虛擬內存(以千字節為單位)。例如,要將最大虛擬內存設置為 512MB,請運行:
ulimit -v 524288
限制 CPU 時間:
您可以使用 ulimit -t
命令來限制進程可以使用的最大 CPU 時間(以秒為單位)。例如,要將最大 CPU 時間設置為 3600 秒,請運行:
ulimit -t 3600
限制數據段大?。?您可以使用 ulimit -d
命令來限制進程的數據段大?。ㄒ郧ё止潪閱挝唬?。例如,要將最大數據段大小設置為 2048KB,請運行:
ulimit -d 2048
要使這些更改永久生效,您可以將相應的 ulimit
命令添加到用戶的 ~/.bashrc
或 /etc/profile
文件中。此外,您還可以使用 pam_limits.so
模塊將這些限制應用于系統范圍。為此,請編輯 /etc/pam.d/common-session
和 /etc/pam.d/common-session-noninteractive
文件,并在文件頂部添加以下行:
session required pam_limits.so
然后,重新啟動服務器以使更改生效。請注意,這些方法可能需要 root 權限才能正確配置。