我收到错误“打开的文件太多”。当进程同时有大约 256 个连接时,似乎会发生这种情况。如果我这样做
sysctl -A | grep maxfiles
我懂了:
kern.maxfiles = 12288
kern.maxfilesperproc = 10240
我的服务器由 launchd 管理。我还需要在 plist 文件中设置 NumberOfFiles 选项吗?
答案1
OSX 上 bash 的默认限制设置看起来像 256。
正如乔所说:
限制-nx
其中 x 可以是更大的数字。
您可能希望在运行进程时将其添加到进程的启动脚本中,或者添加到 .bashrc 中以使其更加永久。
lsof将让你看到每个文件是什么,尽管此上下文中的文件也是网络连接、管道以及实际文件。