在 Ubuntu 系统中,ulimit
命令用于控制 shell 进程及其子进程可以使用的资源限制。要设置内存限制,可以使用 ulimit
命令的 -m
或 -v
选项来指定虚拟内存的最大值。
以下是设置内存限制的步骤:
临时设置内存限制: 打开终端并输入以下命令来设置当前 shell 会话的内存限制(例如,设置为 512 MB):
ulimit -m 512000
或者使用 -v
选项:
ulimit -v 512000
这些设置只对当前 shell 会话有效,关闭终端或重新登录后设置将失效。
永久设置内存限制:
要永久设置内存限制,可以将 ulimit
命令添加到用户的 shell 配置文件中,例如 .bashrc
或 .profile
。
打开 .bashrc
文件(位于用户主目录下):
nano ~/.bashrc
在文件的末尾添加以下行:
ulimit -m 512000
或者使用 -v
选项:
ulimit -v 512000
保存并关闭文件,然后运行以下命令使更改生效:
source ~/.bashrc
系统级设置:
如果需要为所有用户设置内存限制,可以编辑 /etc/security/limits.conf
文件。
打开 /etc/security/limits.conf
文件:
sudo nano /etc/security/limits.conf
在文件中添加以下行(例如,为所有用户设置 512 MB 的内存限制):
* soft memlock 512000
* hard memlock 512000
保存并关闭文件。这些设置将对所有用户生效。
请注意,ulimit
设置的内存限制是基于虚拟内存的,包括堆、栈和共享内存等。如果需要更细粒度的控制,可能需要使用其他工具或配置文件。