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之模块的加载
Oct 24 Python
详细解析Python中__init__()方法的高级应用
May 11 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
Apr 21 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
Sep 17 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
python读取ini配置文件过程示范
Dec 23 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
Python调用OpenCV实现图像平滑代码实例
Jun 19 Python
python3 re返回形式总结
Nov 20 Python
看看如何用Python绘制小米新版天价logo
Apr 20 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过滤危险html代码的函数
2008/07/22 PHP
PHP 日常开发小技巧
2009/09/23 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
Vue $attrs &amp; inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
Django中提示消息messages的设置方式
2019/11/15 Python
Python日志处理模块logging用法解析
2020/05/19 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
python exit出错原因整理
2020/08/31 Python
入党自我鉴定范文
2013/10/04 职场文书
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
李培根演讲稿
2014/05/22 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
小学教师节活动总结
2015/03/20 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
讲解MySQL增删改操作
2022/05/06 MySQL