ulimit 是一个用于控制 shell 和由它启动的进程的资源限制的命令行工具。要使用 ulimit 控制进程打开文件数,请按照以下步骤操作:
打开终端(Terminal)。
查看当前的打开文件数限制,输入以下命令:
ulimit -n
如果需要更改打开文件数的限制,可以使用以下命令:
ulimit -n <新的限制值>
其中 <新的限制值> 是您希望设置的新的打开文件数限制。例如,如果您希望将限制设置为 2048,可以输入 ulimit -n 2048。
请注意,使用 ulimit 命令更改的限制仅对当前 shell 会话有效。当您关闭终端或重新启动系统时,更改将不会被保留。要永久更改打开文件数的限制,您需要修改系统配置文件。
对于 Linux 系统,您可以编辑 /etc/security/limits.conf 文件来设置永久限制。在文件中添加以下内容(用实际的限制值替换 <新的限制值>):
* soft nofile <新的限制值>
* hard nofile <新的限制值>
这将分别为所有用户设置软限制(soft limit)和硬限制(hard limit)。您还可以将 * 替换为特定用户名,以便仅为该用户设置限制。
保存并关闭文件。下次登录时,新的限制将生效。
对于某些 Linux 发行版(如 CentOS 7 及更高版本),您还需要修改 /etc/systemd/system.conf 和 /etc/systemd/user.conf 文件中的 DefaultLimitNOFILE 设置。例如:
DefaultLimitNOFILE=<新的限制值>
然后运行以下命令使更改生效:
sudo systemctl daemon-reload
完成以上步骤后,您应该已经成功地使用 ulimit 控制了进程打开文件数。