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分割和拼接字符串
Nov 01 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
Python基础教程之输入输出和运算符
Jul 26 Python
Python本地及虚拟解释器配置过程解析
Oct 13 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 Python
python3操作redis实现List列表实例
Aug 04 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
逆序二维数组插入一元素的php代码
2012/06/08 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
python实现KNN近邻算法
2020/12/30 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
你们项目是如何进行变更控制的
2015/08/26 面试题
大学生专科学习生活的自我评价
2013/12/07 职场文书
经典商业广告词
2014/03/13 职场文书
工程质量承诺书范文
2014/03/27 职场文书
校园元旦活动总结
2014/07/09 职场文书
上课说话检讨书500字
2014/11/01 职场文书
党员自我评价2015
2015/03/03 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA