Python错误提示:[Errno 24] Too many open files的分析与解决


Posted in Python onFebruary 16, 2017

背景

最近在工作中发现了一个错误,在执行多线程扫描脚本的时候频繁出现下面这个错误

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 many open files',))

比较诡异...

分析

博主自己手上的一些小项目经常需要进行多线程的批量扫描来采集数据,像采集数据这种功能当然是线程越多越好了,所以通常情况下我都是使用 3000 个线程进行扫描,在确定带宽充足,系统硬件配置够高的情况下依然会出现上述问题,这就让我想到是不是因为系统的限制问题。

通过搜索引擎我找到了关于系统限制的介绍,执行

$ ulimit -n
1024

得到的结果是1024,系统限制为同时打开1024个文件,这显然是太少了。

解决

这个问题的解决方法很简单,直接修改下面的文件

sudo vim /etc/security/limits.conf

最这个文件的最后添加两行代码

* soft nofile 10240
* hard nofile 10240

当然这个数字根据自己的需要进行修改即可,保存后注销重新登录就好了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
详解Python中内置的NotImplemented类型的用法
Mar 31 Python
使用Python脚本对Linux服务器进行监控的教程
Apr 02 Python
Django imgareaselect手动剪切头像实现方法
May 26 Python
浅谈python socket函数中,send与sendall的区别与使用方法
May 09 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
Python和Sublime整合过程图示
Dec 25 Python
快速解决jupyter notebook启动需要密码的问题
Apr 21 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
python index() 与 rindex() 方法的使用示例详解
Dec 24 Python
Python变量和数据类型详解
Feb 15 #Python
Django学习笔记之Class-Based-View
Feb 15 #Python
关于Python面向对象编程的知识点总结
Feb 14 #Python
Django日志模块logging的配置详解
Feb 14 #Python
深入理解Python对Json的解析
Feb 14 #Python
Python 2与Python 3版本和编码的对比
Feb 14 #Python
利用Python爬虫给孩子起个好名字
Feb 14 #Python
You might like
解析php时间戳与日期的转换
2013/06/06 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
Javascript实现计算个人所得税
2015/05/10 Javascript
AngularJS转换响应内容
2016/01/27 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
python实现360的字符显示界面
2014/02/21 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
python 换位密码算法的实例详解
2017/07/19 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
Python中str.join()简单用法示例
2018/03/20 Python
Django实现发送邮件功能
2019/07/18 Python
django基于cors解决跨域请求问题详解
2019/08/06 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
学前教育学生自荐信范文
2013/12/31 职场文书
中学运动会广播稿
2014/01/19 职场文书
绿色小区申报材料
2014/08/22 职场文书
2014年库房工作总结
2014/11/26 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
法人身份证明书
2015/06/18 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书
Python List remove()实例用法详解
2021/08/02 Python
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python