0
点赞
收藏
分享

微信扫一扫

python OSError: [Errno 24] Too many open files | HTTPConnectionPool(host=‘‘, port=80): Max retries e

Ichjns 2022-06-24 阅读 95

对于问题:​​python OSError: [Errno 24] Too many open files​原因:超出了进程同一时间最多可开启的文件数.
解决方案P:
使用​​ulimit -n​​查看进程同一时间最多可开启的文件数 mac默认是256,linux是1024
修改
​sudo vim /etc/security/limits.conf​​ 这个文件的最后添加两行代码,这里我修改限制为6000

* soft nofile 6000
* hard nofile 6000

还有其他几种方法:
使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。
使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)
有如下三种修改方式:
1.在/etc/rc.local 中增加一行 ulimit -SHn 65535
2.在/etc/profile 中增加一行 ulimit -SHn 65535

修改上面的文件数可以发现也可以解决这个报错,​​HTTPConnectionPool(host=‘t.tips', port=80): Max retries exceeded with url:​​​ 这是因为使用socket通信时也是依托于文件的。但是如果请求api端有请求数量限制,仍然是拉取不到结果的。

举报

相关推荐

0 条评论