在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会话的,而永久设置会影响所有用户和进程。如果你需要更细粒度的控制,可能需要使用其他工具或配置文件。