无法接受新连接(EMFILE) - 此消息每隔几秒会在日志中追加多次,并且服务器不会重新连接。它发生在2000多个连接之后。
#lsof | wc -l
2309
#ulimit -n
655360
#uname -a
Linux .... 2.6.39-400.215.11.el6uek.x86_64 #1 SMP Wed Oct 15 13:07:26 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux
我使用EPollReactor(twisted 12.1.0):
来自twisted.internet import epollreactor
epollreactor.install()
我该怎么办? 对不起我的英文。
答案 0 :(得分:0)
您的可用文件描述符用完了,无论是按用户,按进程还是按计算机。
您可能需要更改一些ulimit
或sysctl
参数以增加这些限制。
根据您的操作系统,这可能略有不同。例如,here's the relevant chapter of the FreeBSD handbook关于使用sysctl调整限制。
答案 1 :(得分:0)
增加限制不能解决问题,会延迟问题。 只有一个问题,您必须使请求排队并在套接字或文件描述符不足时等待,直到某些请求再次可用。 查看https://caolan.github.io/async/docs.html#queue可以完成的工作。