Twisted无法接受新连接(EMFILE)

时间:2014-11-18 11:31:51

标签: python linux twisted

无法接受新连接(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()

我该怎么办? 对不起我的英文。

2 个答案:

答案 0 :(得分:0)

您的可用文件描述符用完了,无论是按用户,按进程还是按计算机。

您可能需要更改一些ulimitsysctl参数以增加这些限制。

根据您的操作系统,这可能略有不同。例如,here's the relevant chapter of the FreeBSD handbook关于使用sysctl调整限制。

答案 1 :(得分:0)

增加限制不能解决问题,会延迟问题。 只有一个问题,您必须使请求排队并在套接字或文件描述符不足时等待,直到某些请求再次可用。 查看https://caolan.github.io/async/docs.html#queue可以完成的工作。