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中使用select模块实现非阻塞的IO
Feb 03 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
python保存文件方法小结
Jul 27 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
python3中eval函数用法使用简介
Aug 02 Python
python实现WebSocket服务端过程解析
Oct 18 Python
python tornado修改log输出方式
Nov 18 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
Apr 20 Python
python3爬虫中异步协程的用法
Jul 10 Python
python中plt.imshow与cv2.imshow显示颜色问题
Jul 16 Python
python 爬取豆瓣网页的示例
Apr 13 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数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
教你如何解密 “ PHP 神盾解密工具 ”
2014/06/20 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
美国网上花店:JustFlowers
2017/02/12 全球购物
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
上课睡觉检讨书
2014/01/28 职场文书
幼儿园教师教学反思
2014/02/06 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
感谢信怎么写
2015/01/21 职场文书