温馨提示×

如何解决Ubuntu ulimit内存不足问题

小樊
45
2025-08-18 11:43:28
栏目: 智能运维

要解决Ubuntu ulimit内存不足问题,可尝试以下方法:

  • 临时调整:在当前shell会话中,使用ulimit -v [虚拟内存限制值(KB)]命令设置虚拟内存限制,如ulimit -v 2097152(设置为2GB)。也可使用ulimit -m [物理内存限制值(KB)]设置物理内存限制,但此方法在某些系统中可能不准确。
  • 永久调整
    • 编辑/etc/security/limits.conf文件,添加或修改* soft as [内存限制值(KB)]* hard as [内存限制值(KB)]行,如* soft as 4194304* hard as 8388608,分别设置软限制和硬限制为4GB和8GB,然后重新登录或重启系统。
    • 对于systemd管理的服务,可编辑/etc/systemd/system.conf/etc/systemd/user.conf,将#DefaultLimitMEMLOCK=改为DefaultLimitMEMLOCK=infinity,再执行sudo systemctl daemon-reexec并重启系统。
  • 使用cgroups:适用于容器化环境或对进程组进行内存管理。先安装cgroup-tools,然后创建cgroup,如sudo cgcreate -g memory:/mygroup,设置内存限制echo [内存限制值(字节)] | sudo tee /sys/fs/cgroup/memory/mygroup/memory.limit_in_bytes,最后将进程添加到cgroup中echo [进程ID] | sudo tee /sys/fs/cgroup/memory/mygroup/tasks

0