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 相关文章推荐
在Windows8上的搭建Python和Django环境
Jul 03 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
May 11 Python
深入浅出分析Python装饰器用法
Jul 28 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
Sep 12 Python
python嵌套字典比较值与取值的实现示例
Nov 03 Python
Python 查看文件的读写权限方法
Jan 23 Python
Python中if elif else及缩进的使用简述
May 31 Python
Django 开发环境与生产环境的区分详解
Jul 26 Python
在django中实现页面倒数几秒后自动跳转的例子
Aug 16 Python
Python编写一个验证码图片数据标注GUI程序附源码
Dec 09 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
Python接口测试数据库封装实现原理
May 09 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中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
php include和require的区别深入解析
2013/06/17 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
php之curl设置超时实例
2014/11/03 PHP
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
python获取本机mac地址和ip地址的方法
2015/04/29 Python
python 中random模块的常用方法总结
2017/07/08 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
python根据多个文件名批量查找文件
2019/08/13 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
社区包粽子活动方案
2014/01/21 职场文书
给学校的建议书范文
2014/05/15 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
项目申报专员岗位职责
2014/07/09 职场文书