linux

如何用ulimit控制进程打开文件数

小樊
55
2025-07-20 09:22:20
栏目: 编程语言

ulimit 是一个用于控制 shell 进程资源限制的命令行工具。要使用 ulimit 控制进程打开文件数,请按照以下步骤操作:

  1. 打开终端(Terminal)。

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

    ulimit -n
    

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

  3. 若要更改文件描述符限制,请使用以下命令:

    ulimit -n <新的限制值>
    

    <新的限制值> 替换为您希望设置的文件描述符数量。例如,如果您希望将限制设置为 2048,请输入 ulimit -n 2048

    请注意,此更改仅适用于当前 shell 会话。关闭终端或重新启动计算机后,更改将丢失。

  4. 若要使更改永久生效,您需要编辑系统配置文件。对于大多数 Linux 发行版,您可以使用以下命令之一:

    • 对于基于 Systemd 的系统(如 Ubuntu 16.04 及更高版本),编辑 /etc/systemd/system.conf 文件:

      sudo nano /etc/systemd/system.conf
      

      在文件中找到 DefaultLimitNOFILE 行,如果没有,请添加以下内容:

      DefaultLimitNOFILE=<新的限制值>
      

      <新的限制值> 替换为您希望设置的文件描述符数量。保存并关闭文件。

    • 对于基于 SysVinit 的系统(如 Ubuntu 14.04),编辑 /etc/security/limits.conf 文件:

      sudo nano /etc/security/limits.conf
      

      在文件末尾添加以下内容:

      * soft nofile <新的限制值>
      * hard nofile <新的限制值>
      

      <新的限制值> 替换为您希望设置的文件描述符数量。保存并关闭文件。

    更改生效后,重新启动计算机或重新登录以使更改生效。

请注意,这些更改将影响整个系统上的所有用户和进程。如果您只想为特定用户或进程设置限制,请相应地修改配置文件。

0
看了该问题的人还看了