温馨提示×

Linux ulimit如何设置打开文件描述符数量

小樊
41
2025-11-11 14:05:17
栏目: 智能运维

在Linux系统中,ulimit命令用于控制shell进程及其子进程可以打开的文件描述符数量。要设置打开文件描述符的数量,请按照以下步骤操作:

  1. 打开终端。

  2. 查看当前的文件描述符限制。运行以下命令:

    ulimit -n
    

    这将显示当前用户会话允许的最大文件描述符数量。

  3. 临时设置文件描述符限制。要更改当前shell会话的限制,请运行以下命令,将<number>替换为您希望设置的文件描述符数量:

    ulimit -n <number>
    

    例如,要将文件描述符限制设置为4096,请运行:

    ulimit -n 4096
    
  4. 永久设置文件描述符限制。要永久更改文件描述符限制,您需要编辑系统配置文件。以下是在不同Linux发行版上执行此操作的方法:

    • 对于基于Systemd的系统(如Ubuntu 16.04及更高版本、CentOS 7及更高版本):

      1. 打开/etc/systemd/system.conf文件。使用文本编辑器打开,例如:
        sudo nano /etc/systemd/system.conf
        
      2. [Manager]部分下,添加或修改以下行:
        DefaultLimitNOFILE=<number>
        
        <number>替换为您希望设置的文件描述符数量。
      3. 保存并关闭文件。
      4. 重新加载systemd配置并重启系统:
        sudo systemctl daemon-reload
        sudo reboot
        
    • 对于基于SysVinit的系统(如较旧的Ubuntu和CentOS版本):

      1. 打开/etc/security/limits.conf文件。使用文本编辑器打开,例如:
        sudo nano /etc/security/limits.conf
        
      2. 在文件末尾添加以下行,将<username>替换为您的用户名,将<number>替换为您希望设置的文件描述符数量:
        <username> soft nofile <number>
        <username> hard nofile <number>
        
      3. 保存并关闭文件。
      4. 重新登录以使更改生效。

完成上述步骤后,您的Linux系统应已成功设置了打开文件描述符的数量。请注意,这些设置仅适用于特定用户。如果您需要为系统中的所有用户设置文件描述符限制,请相应地编辑配置文件。

0