Python错误提示:[Errno 24] Too many open files的分析与解决
背景
最近在工作中发现了一个错误,在执行多线程扫描脚本的时候频繁出现下面这个错误
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 socket.error: [Errno 98] Address already in use的原因和解决方法
一.原因浅析 今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端向服务器端发送消息,关闭了连接后,这时如果马上再去运行服务器端程序,会提示这个错误: 复制代码 代码如下: socket.error: [Errno 98] Address already in use 这是因为在TCP/IP终止连接的四次握手中,当最后的ACK回复发出后,有个2MSL的时间等待,MSL指一个片段
-
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
本文实例讲述了Python提示[Errno 32]Broken pipe导致线程crash错误解决方法.分享给大家供大家参考.具体方法如下: 1. 错误现象 ThreadingHTTPServer 实现的 http 服务,如果客户端在服务器返回前,主动断开连接,则服务器端会报 [Errno 32] Broken pipe 错,并导致处理线程 crash. 下面先看个例子,python 版本: 2.7 示例代码 复制代码 代码如下: #!/usr/bin/env python #!coding=u
-
python socket 超时设置 errno 10054
python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接.问题解决方案: 前几天使用python读取网页.因为对一个网站大量的使用urlopen操作,所以会被那个网站认定为攻击行为.有时就不再允许下载.导致urlopen()后,request.read()一直卡死在那里.最后会抛出errno 10054. 这个错误是connection reset by peer.也就是传说的远端主机重置了此连接.原因可能是socket超时时间过长:也可能是requ
-
Python错误提示:[Errno 24] Too many open files的分析与解决
背景 最近在工作中发现了一个错误,在执行多线程扫描脚本的时候频繁出现下面这个错误 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 e
-
python错误提示:Errno 2] No such file or directory的解决方法
目录 1.问题描述: 2.解决方法: 3.小结: 总结 1.问题描述: 在学习北京大学曹健老师的tensorflow2.0笔记的时候,遇到了 [Errno 2] No such file or directory: './mnist_image_label/mnist_train_jpg_60000.txt' 这个没有查找到子文件或者子文件夹的问题. 2.解决方法: 首先,确定所写的路径中包含相应的文件夹或者文件. 其次,如果文件名字或者路径没写错,查看自己是否使用相对路径(绝对路径一般不会报错
-
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8 查看目前系统字符集 复制代码 代码如下: import sys print sys.getdefaultencoding() 执行: 复制代码 代码如下: [root@lee ~]# python a.py ascii 修改成utf-8 复制代码 代码如下: import sys sys.setdefaultencoding('utf-8') print sys.get
-
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8 查看目前系统字符集 复制代码 代码如下: import sys print sys.getdefaultencoding() 执行: 复制代码 代码如下: [root@lee ~]# python a.py ascii 修改成utf-8 复制代码 代码如下: import sys sys.setdefaultencoding('utf-8') print sys.get
-
php错误提示failed to open stream: HTTP request failed!的完美解决方法
google或者baidu一下,好多这样的问题,解决的方法都是修改php.ini,把allow_url_fopen给启用,改成 allow_url_fopen = On 这样做可以解决某些人的问题,有人说在php.ini中,有这样两个选项:allow_url_fopen =on(表示可以通过url打开远程文件),user_agent="PHP"(表示通过哪种脚本访问网络,默认前面有个 " ; " 去掉即可.)重启服务器. 但是有些还是会有这个警告信息,想用完美的解决
-
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
引言 目前Python2和Python3存在版本上的不兼容性,这里将列举dict中的问题之一.下面话不多说,来看看详细的介绍: 1. Python 2 vs python 3 根据Python社区的主流要求,Python 2将在最近的若干年内不再提供技术支持,目前的python 2.7.12已经是其维护版本:如无意外,大家请参照使用Python 3. Python 3与Python 2之间的割裂以及向下不兼容性是其一个非常著名的事件,给整个社区和相关应用造成了相当的困扰. 2. 问题 Pyt
-
Python错误+异常+模块总结
目录 错误和异常 语法错误 异常 异常处理 抛出异常 模块 前言: 本篇主要讲两方面,错误和异常以及模块.在编程时遇见错误信息在所难免,Python中会也有很多种错误信息,常见的两种就是语法错误和逻辑错误,逻辑错误的种类有很多,占据了异常中大部分位置,下面就开始介绍一下这两个概念的相关知识. 错误和异常 语法错误 语法错误英文表示为SyntaxError,后面会跟着一些关于错误的解释信息,方便你查找语句中的bug,如下: In [5]: print('naitangmao) File "&l
-
PHP常见错误提示含义解释(实用!值得收藏)
本文讲述了PHP常见错误提示含义解释.分享给大家供大家参考,具体如下: 在学习PHP的时候,经常遇到各种错误提示,今天看到这错误提示和解释感觉挺好,现转过来,供我们学习.呵呵..... 1.Notice: Undefined variable: 变量名 in 注:使用了一个没有被定义的变量 2.Parse error: syntax error, unexpected T_ELSE in If () { }Else if () { } Echo $test; Else { } 注:是 if
随机推荐
- Docker如何固定IP设置的方法
- javascript移动设备Web开发中对touch事件的封装实例
- IE JS无提示关闭窗口不提示的方法
- 仅IE6/7/8中innerHTML返回值忽略英文空格的问题
- Node调试工具JSHint的安装及配置教程
- 我整理的PHP 7.0主要新特性
- Python编程修改MP3文件名称的方法
- 简单的ASP中经常用到的代码[推荐]第1/4页
- Docker 容器文件系统详细介绍(图文)
- javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
- 纯C语言:递归组合数源码分享
- Android EditText限制输入字符类型的方法总结
- 最简单的rundll2000.exe病毒完美解决方法
- jQuery实现点击按钮文字变成input框点击保存变成文字
- PHP使用适合阅读的格式显示文件大小的方法
- 详解redis与spring的整合(使用缓存)
- Android利用Gson解析嵌套多层的Json的简单方法
- 新手菜鸟必读:session与cookie的区别
- Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能(附源码)
- Java日期时间字符串和毫秒相互转换的方法