centos

centos ulimit如何限制文件描述符数量

小樊
42
2025-07-12 18:03:46
栏目: 智能运维

在 CentOS 系统中,你可以使用 ulimit 命令来限制用户或进程可以打开的文件描述符数量。以下是如何设置这些限制的步骤:

临时设置

  1. 查看当前限制

    ulimit -n
    
  2. 临时设置单个用户的文件描述符限制

    ulimit -n <number_of_descriptors>
    

    例如,将限制设置为 4096:

    ulimit -n 4096
    
  3. 临时设置所有用户的文件描述符限制: 编辑 /etc/security/limits.conf 文件:

    sudo vi /etc/security/limits.conf
    

    添加以下行:

    * soft nofile <number_of_descriptors>
    * hard nofile <number_of_descriptors>
    

    例如:

    * soft nofile 4096
    * hard nofile 4096
    

永久设置

  1. 编辑 /etc/security/limits.conf 文件

    sudo vi /etc/security/limits.conf
    

    添加或修改以下行:

    * soft nofile <number_of_descriptors>
    * hard nofile <number_of_descriptors>
    

    例如:

    * soft nofile 4096
    * hard nofile 4096
    
  2. 编辑 /etc/pam.d/common-session 文件

    sudo vi /etc/pam.d/common-session
    

    添加以下行:

    session required pam_limits.so
    
  3. 编辑 /etc/pam.d/common-session-noninteractive 文件

    sudo vi /etc/pam.d/common-session-noninteractive
    

    添加以下行:

    session required pam_limits.so
    
  4. 编辑 /etc/systemd/system.conf 文件(适用于 systemd):

    sudo vi /etc/systemd/system.conf
    

    添加或修改以下行:

    DefaultLimitNOFILE=<number_of_descriptors>
    

    例如:

    DefaultLimitNOFILE=4096
    
  5. 重新加载 systemd 配置

    sudo systemctl daemon-reload
    
  6. 重启系统以使所有更改生效:

    sudo reboot
    

验证设置

  1. 验证单个用户的限制

    ulimit -n
    
  2. 验证所有用户的限制

    sudo grep 'nofile' /etc/security/limits.conf
    

通过以上步骤,你可以成功地在 CentOS 系统中限制文件描述符的数量。

0
看了该问题的人还看了