多个爬虫同时运行出现错误twisted.internet.error.ConnectBindError: Couldnt bind: 24: Too many open files.

 

 

最近项目中300个左右的爬虫总是报 

twisted.internet.error.ConnectBindError: Couldn't bind: 24: Too many open files.

由于网络质量的问题,会出现部分连接无法回收,于是查询资料,按照网上的建议,都是修改soft max limit 参数,

但是我改了,查看爬虫进程的 max open files 始终不变。

修改配置:

ulimit -n 2048 

 

ulimit -HSn 2048 

查看进程max open files :   

cat /proc/进程ID/limits

经过折腾终于找到了解决办法,

原因:部署爬虫的进程管理工具是 supervisor,被这个工具的 max open files限制了,于是乎,修改该服务的配置文件:

vim  /usr/lib/systemd/system/supervisord.service

增加这一行

多个爬虫同时运行出现错误twisted.internet.error.ConnectBindError: Couldnt bind: 24: Too many open files._第1张图片

查看效果,两个进程的限制都更改成功:

多个爬虫同时运行出现错误twisted.internet.error.ConnectBindError: Couldnt bind: 24: Too many open files._第2张图片

目前就没有再没有报过这个错误了,说明其两者是互相依赖关系。

你可能感兴趣的:(爬虫)