温馨提示×

如何调整Ubuntu ulimit的硬限制

小樊
35
2025-11-15 16:50:37
栏目: 智能运维

在Ubuntu系统中,ulimit命令用于控制shell进程及其子进程的资源限制。要调整Ubuntu的ulimit硬限制,可以按照以下步骤操作:

临时调整

如果你只想在当前会话中临时调整ulimit,可以使用以下命令:

  1. 查看当前限制

    ulimit -a
    
  2. 设置软限制和硬限制

    ulimit -S -n <新的软限制>  # 设置软限制
    ulimit -H -n <新的硬限制>  # 设置硬限制
    

    例如,将文件描述符的软限制设置为4096,硬限制设置为8192:

    ulimit -S -n 4096
    ulimit -H -n 8192
    

永久调整

如果你希望永久调整ulimit,需要修改系统配置文件。

方法一:修改 /etc/security/limits.conf

  1. 打开 /etc/security/limits.conf 文件:

    sudo nano /etc/security/limits.conf
    
  2. 添加或修改以下行:

    * soft nofile <新的软限制>
    * hard nofile <新的硬限制>
    

    例如:

    * soft nofile 4096
    * hard nofile 8192
    
  3. 保存并关闭文件。

方法二:修改 /etc/pam.d/common-session/etc/pam.d/common-session-noninteractive

  1. 打开 /etc/pam.d/common-session 文件:

    sudo nano /etc/pam.d/common-session
    
  2. 添加以下行:

    session required pam_limits.so
    
  3. 打开 /etc/pam.d/common-session-noninteractive 文件:

    sudo nano /etc/pam.d/common-session-noninteractive
    
  4. 添加以下行:

    session required pam_limits.so
    
  5. 保存并关闭文件。

方法三:修改 /etc/sysctl.conf

如果你需要调整内核级别的限制,可以修改 /etc/sysctl.conf 文件:

  1. 打开 /etc/sysctl.conf 文件:

    sudo nano /etc/sysctl.conf
    
  2. 添加或修改以下行:

    fs.file-max = <新的最大文件描述符数>
    
  3. 保存并关闭文件。

  4. 应用更改:

    sudo sysctl -p
    

验证更改

无论你是临时还是永久调整,都可以通过以下命令验证更改是否生效:

ulimit -a

你应该能看到新的软限制和硬限制值。

通过以上步骤,你可以成功调整Ubuntu系统中的ulimit硬限制。

0