2021 年了, requests 内存泄露的问题解决了吗?如果没解决,怎么解决?

2021-06-15 15:46:12 +08:00
 0x0208v0
这是在网上看到的一篇博客,
https://morningchen.com/2019/12/12/celery-memory-leak/


用 docker 在最新的 python 版本上实验,还是有泄露的情况。有朋友知道怎么办吗?
4534 次点击
所在节点    Python
7 条回复
est
2021-06-15 16:24:42 +08:00
https://github.com/psf/requests/issues/4601

Call Session.close() and Response.close() can avoid the memory leak.
est
2021-06-15 16:25:42 +08:00
LZ 可以试下上面给出的方法。如果成功了。那其实不算泄漏。requests 头铁忠实实现了 http/1.1 的 keep-connection 连接复用而已。
0x0208v0
2021-06-15 16:44:30 +08:00
@est 刚才贴了一段简单的代码,环境是 python3.7,似乎 Call Session.close() and Response.close() 内存没有明显减少
ospider
2021-06-15 17:23:56 +08:00
解决方法就是用 httpx,放弃 requests
Trim21
2021-06-15 17:33:39 +08:00
httpx 底层跟 requests 不一样,不知道有没有泄漏的问题。
Huelse
2021-06-15 20:57:52 +08:00
LeeReamond
2021-06-15 21:36:18 +08:00
@v2exblog 内存释放也不会将堆内存还给系统,我觉得没有减少不代表泄露

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/783511

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX