首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跟踪未出现在内存分析器中的python内存泄漏

跟踪未出现在内存分析器中的python内存泄漏
EN

Stack Overflow用户
提问于 2022-10-09 18:25:03
回答 1查看 57关注 0票数 0

背景:我有一个使用aiortc库发送和接收音频的python,它通常运行良好(考虑到我不是一个软件开发人员,这是令人印象深刻的)。但是,我注意到,经过几天的时间,这个脚本的内存使用量会慢慢膨胀,以填充主机服务器上的所有可用内存。只有在音频RTC流运行时才会发生这种情况,这排除了代码的其他部分,并导致我只关注aiortc库本身。

有趣的是,通常推荐的python内存工具tracemalloc & muppy在任何地方都不会显示这么大的内存使用量--当通过htop查看的脚本使用超过7GB时,它们可以找到的内存中最大的项通常只有几MB。来自muppy的示例输出

代码语言:javascript
复制
                       types |   # objects |   total size
============================ | =========== | ============
                         str |       40749 |      6.00 MB
                        dict |       13615 |      4.83 MB
                        code |       12379 |      2.15 MB
                       tuple |       30681 |      1.91 MB
                        type |        2014 |      1.77 MB
                         set |         895 |    570.29 KB
                        list |        2457 |    526.35 KB
                 abc.ABCMeta |         363 |    392.88 KB
                     weakref |        4387 |    308.46 KB
  builtin_function_or_method |        4252 |    298.97 KB
                         int |        6281 |    174.71 KB
          wrapper_descriptor |        2461 |    173.04 KB
           getset_descriptor |        2432 |    152.00 KB
       tracemalloc.Statistic |        2337 |    127.80 KB
                   frozenset |         419 |    124.13 KB

这使我相信泄漏的来源是aiortc库调用的非python库中较低级别的东西。我不是唯一一个向图书馆报告内存泄漏问题的人,但到目前为止,还没有人想出任何冒烟的武器。

我很好奇,当正常的python内存分析工具不起作用时,建议采取什么行动来进一步挖掘我所看到的内存使用问题。是否有较低级别的python内存分析技巧,还是需要深入研究外部内存分析工具?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-09 18:37:01

也许jemalloc值得一试?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74007420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档