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