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实现的各种排序算法代码
Mar 04 Python
python通过加号运算符操作列表的方法
Jul 28 Python
Python的math模块中的常用数学函数整理
Feb 04 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 Python
python pptx复制指定页的ppt教程
Feb 14 Python
python实现简单井字棋游戏
Mar 04 Python
Python函数基本使用原理详解
Mar 19 Python
全网最详细的PyCharm+Anaconda的安装过程图解
Jan 25 Python
python 中的@运算符使用
May 26 Python
Python3.10的一些新特性原理分析
Sep 15 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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 ios推送(代码)
2013/07/01 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
PHP attributes()函数讲解
2019/02/03 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
JS location几个方法小姐
2008/07/09 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
python3序列化与反序列化用法实例
2015/05/26 Python
django的settings中设置中文支持的实现
2019/04/28 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
基于python框架Scrapy爬取自己的博客内容过程详解
2019/08/05 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
python实现简单猜单词游戏
2020/12/24 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
幼儿园家长会欢迎词
2014/01/09 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
500字小学生检讨书
2015/02/19 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
python for循环赋值问题
2021/06/03 Python
浅谈Python数学建模之数据导入
2021/06/23 Python
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript