在OS X上为我的服务器打开了太多的文件

我收到错误“太多打开的文件”。 这似乎发生在进程有大约256个同时连接时。 如果我做

sysctl -A | grep maxfiles 

我懂了:

 kern.maxfiles = 12288 kern.maxfilesperproc = 10240 

我的服务器由launchdpipe理。 我是否也需要在plist文件中设置NumberOfFiles选项?

OSX上bash的默认限制设置看起来像256。

所以,正如乔所说:

ulimit -nx

其中x可以是更高的数字。

您可能希望在运行时将其添加到进程的启动脚本中,或者添加到.bashrc中以使其更持久。

lsof会让你看到每个文件是什么,尽pipe在这个上下文中的文件也是networking连接,pipe道,以及实际的文件。