在 Ubuntu 系統中,ulimit
命令用于控制 shell 進程及其子進程的資源限制。如果你想調整內存使用的上限,可以通過 ulimit
命令來設置。以下是一些常用的 ulimit
選項:
查看當前的內存限制:
ulimit -v
這將顯示當前虛擬內存的限制(以 KB 為單位)。
臨時調整內存限制: 如果你想臨時增加內存限制,可以使用以下命令。例如,將虛擬內存限制設置為 4GB:
ulimit -v 4194304
這個設置只在當前的 shell 會話中有效。關閉終端或重新登錄后,設置將失效。
永久調整內存限制:
如果你想永久地調整內存限制,可以編輯 /etc/security/limits.conf
文件。使用文本編輯器打開該文件:
sudo nano /etc/security/limits.conf
在文件的末尾添加以下行(以設置用戶 username
的內存限制為例):
username soft as unlimited
username hard as unlimited
這里 as
是地址空間的限制。unlimited
表示不限制。你可以根據需要設置為具體的數值。
對所有用戶設置限制:
如果你想對所有用戶設置相同的內存限制,可以在 /etc/security/limits.conf
中使用 *
代替用戶名:
* soft as unlimited
* hard as unlimited
調整其他相關資源限制:
除了內存限制,你還可以使用 ulimit
來調整其他資源限制,例如打開文件的最大數量、進程數等。例如:
ulimit -n
ulimit -n 4096
完成這些設置后,新的限制將生效。如果你使用的是 systemd 服務,可能還需要在服務的配置文件中設置 LimitMEMLOCK
選項來控制內存鎖定限制。