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