在 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
选项来控制内存锁定限制。