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批量同步web服务器代码核心程序
Sep 01 Python
python中sys.argv函数精简概括
Jul 08 Python
python 实现selenium断言和验证的方法
Feb 13 Python
opencv转换颜色空间更改图片背景
Aug 20 Python
python自动化UI工具发送QQ消息的实例
Aug 27 Python
python字符串的拼接方法总结
Nov 18 Python
python中os包的用法
Jun 01 Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 Python
python cookie反爬处理的实现
Nov 01 Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 Python
Python数据分析入门之数据读取与存储
May 13 Python
python实现简单石头剪刀布游戏
Oct 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下实现折线图效果的代码
2007/04/28 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
js图片上传的封装代码
2017/08/01 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python list使用示例 list中找连续的数字
2014/01/27 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
详解K-means算法在Python中的实现
2017/12/05 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
Django视图和URL配置详解
2018/01/31 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Python 解析简单的XML数据
2020/07/24 Python
计算机专业毕业生求职信分享
2013/12/24 职场文书
网络技术专业推荐信
2014/02/20 职场文书
保护环境建议书
2014/03/12 职场文书
学生安全责任书
2014/04/15 职场文书
2014年工商所工作总结
2014/12/09 职场文书
水电施工员岗位职责
2015/04/11 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书