Python错误提示:[Errno24]Toomanyopenfiles的分析与解决

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python错误提⽰:[Errno24]Toomanyopenfiles的分析与解决
背景
最近在⼯作中发现了⼀个错误,在执⾏多线程扫描脚本的时候频繁出现下⾯这个错误
HTTPConnectionPool(host=‘t.tips', port=80): Max retries exceeded with url: /index.php (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f29d4081150>: Failed to establish a new connection: [Errno 24] Too m ⽐较诡异...
分析
博主⾃⼰⼿上的⼀些⼩项⽬经常需要进⾏多线程的批量扫描来采集数据,像采集数据这种功能当然是线程越多越好了,所以通常情况下我都是使⽤ 3000 个线程进⾏扫描,在确定带宽充⾜,系统硬件配
置够⾼的情况下依然会出现上述问题,这就让我想到是不是因为系统的限制问题。

通过搜索引擎我找到了关于系统限制的介绍,执⾏
$ ulimit -n
1024
得到的结果是1024,系统限制为同时打开1024个⽂件,这显然是太少了。

解决
这个问题的解决⽅法很简单,直接修改下⾯的⽂件
sudo vim /etc/security/limits.conf
最这个⽂件的最后添加两⾏代码
* soft nofile 10240
* hard nofile 10240
当然这个数字根据⾃⼰的需要进⾏修改即可,保存后注销重新登录就好了。

总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流。

相关文档
最新文档