ulimit 是一个用于控制 shell 进程资源限制的命令行工具。你可以使用它来设置或查看用户进程可以打开的最大文件描述符数量。以下是如何使用 ulimit 控制文件描述符数量的步骤:
ulimit -n 这将显示当前用户会话允许的最大文件描述符数量。如果你想临时增加或减少文件描述符的限制,可以使用以下命令:
ulimit -n <新的限制值> 例如,要将文件描述符限制增加到 4096,可以输入:
ulimit -n 4096 ulimit -n <新的限制值> 例如,要将文件描述符限制减少到 2048,可以输入:
ulimit -n 2048 请注意,这些更改仅对当前 shell 会话有效。关闭终端或重新登录后,更改将丢失。
要永久更改文件描述符限制,你需要编辑系统配置文件。以下是在不同 Linux 发行版上进行的操作:
创建或编辑 /etc/systemd/system.conf 文件:
sudo nano /etc/systemd/system.conf 在文件中找到 DefaultLimitNOFILE 行,并设置为你想要的值:
DefaultLimitNOFILE=4096 保存并关闭文件。
重新加载 systemd 配置并重启所有服务:
sudo systemctl daemon-reload sudo systemctl restart <服务名> 编辑 /etc/security/limits.conf 文件:
sudo nano /etc/security/limits.conf 添加以下行以设置特定用户的文件描述符限制:
<用户名> soft nofile <新的限制值> <用户名> hard nofile <新的限制值> 例如,为 user1 设置限制:
user1 soft nofile 4096 user1 hard nofile 4096 保存并关闭文件。
重新登录以使更改生效。
通过以上步骤,你可以使用 ulimit 控制文件描述符数量,并根据需要进行临时或永久设置。