ubuntu

Ubuntu ulimit如何调整内存使用上限

小樊
68
2025-06-10 00:59:25
栏目: 智能运维

在 Ubuntu 系统中,ulimit 命令用于控制 shell 进程及其子进程的资源限制。如果你想调整内存使用的上限,可以通过 ulimit 命令来设置。以下是一些常用的 ulimit 选项:

  1. 查看当前的内存限制

    ulimit -v
    

    这将显示当前虚拟内存的限制(以 KB 为单位)。

  2. 临时调整内存限制: 如果你想临时增加内存限制,可以使用以下命令。例如,将虚拟内存限制设置为 4GB:

    ulimit -v 4194304
    

    这个设置只在当前的 shell 会话中有效。关闭终端或重新登录后,设置将失效。

  3. 永久调整内存限制: 如果你想永久地调整内存限制,可以编辑 /etc/security/limits.conf 文件。使用文本编辑器打开该文件:

    sudo nano /etc/security/limits.conf
    

    在文件的末尾添加以下行(以设置用户 username 的内存限制为例):

    username soft as unlimited
    username hard as unlimited
    

    这里 as 是地址空间的限制。unlimited 表示不限制。你可以根据需要设置为具体的数值。

  4. 对所有用户设置限制: 如果你想对所有用户设置相同的内存限制,可以在 /etc/security/limits.conf 中使用 * 代替用户名:

    * soft as unlimited
    * hard as unlimited
    
  5. 调整其他相关资源限制: 除了内存限制,你还可以使用 ulimit 来调整其他资源限制,例如打开文件的最大数量、进程数等。例如:

    • 查看最大打开文件数:
      ulimit -n
      
    • 设置最大打开文件数:
      ulimit -n 4096
      

完成这些设置后,新的限制将生效。如果你使用的是 systemd 服务,可能还需要在服务的配置文件中设置 LimitMEMLOCK 选项来控制内存锁定限制。

0
看了该问题的人还看了