在Ubuntu系統中,ulimit
命令用于控制shell進程及其子進程的資源限制。要設置內存限制,可以使用ulimit
命令的-v
選項。以下是具體步驟:
臨時設置內存限制: 打開終端并輸入以下命令來設置內存限制(以KB為單位):
ulimit -v <memory_limit_in_kb>
例如,要將內存限制設置為512MB(即524288KB),可以輸入:
ulimit -v 524288
永久設置內存限制:
要永久設置內存限制,需要編輯系統的資源限制配置文件。通常,這些文件是/etc/security/limits.conf
和/etc/pam.d/common-session
或/etc/pam.d/common-session-noninteractive
。
打開/etc/security/limits.conf
文件:
sudo nano /etc/security/limits.conf
在文件末尾添加以下行來設置內存限制(以KB為單位):
* soft as unlimited
* hard as unlimited
這里的*
表示所有用戶,soft
表示軟限制,hard
表示硬限制。你可以根據需要替換為特定用戶或組。
保存并關閉文件。
編輯/etc/pam.d/common-session
或/etc/pam.d/common-session-noninteractive
文件:
sudo nano /etc/pam.d/common-session
或
sudo nano /etc/pam.d/common-session-noninteractive
在文件中添加以下行:
session required pam_limits.so
保存并關閉文件。
驗證設置: 重新登錄系統或重啟系統后,新的內存限制應該生效。你可以通過以下命令驗證設置:
ulimit -v
請注意,ulimit
命令設置的內存限制是針對單個shell會話的,而永久設置會影響所有用戶和進程。如果你需要更細粒度的控制,可能需要使用其他工具或配置文件。