python - socket.accept 错误 24 : To many open files

标签 python exception file sockets

在 Python2.6 中运行服务器时,我在 Ubuntu 9.10 下打开文件时遇到问题 主要问题是,我不知道为什么会这样......

我已经设置了

ulimit -n = 999999

net.core.somaxconn = 999999

fs.file-max = 999999

当服务器运行时,lsof 给我大约 12000 个打开的文件。

而且我也在使用 epoll。

但一段时间后它开始给出异常(exception):

文件“/usr/lib/python2.6/socket.py”,第 195 行,接受 错误:[Errno 24] 打开的文件太多

而且我不知道它如何在未达到文件限制时达到文件限制。

感谢帮助)

最佳答案

配置最大打开连接数的参数。

在/etc/sysctl.conf

添加:

net.core.somaxconn=131072
fs.file-max=131072

然后:

sudo sysctl -p

在/usr/include/linux/limits.h

改变:

NR_OPEN = 65536

在/etc/security/limits.conf

添加:

*                soft    nofile          65535
*                hard    nofile          65535

关于python - socket.accept 错误 24 : To many open files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569620/

相关文章:

python - 将社区结构(列表)转换为邻接表

python - 获取对当前异常的引用

file - 为什么在hadoop mapper生成的文件中生成tab space

python - 尝试使用elasticsearch-dsl Python软件包访问Elasticsearch Cloud时的“Failed to establish a new connection”

python - 从异步函数调用同步函数

python - 我可以使用 pycurl/curl 设置低优先级上传请求以避免使用所有上游吗

java - 计算字符串中字符出现的次数

c# - 我可以从 InvalidConstraintException 中检索受影响的约束吗?

java - 快速逐字符读取文本文件(java)

c - 读取C语言文本文件