Python内存泄漏

Python内存泄漏

我有一个长时间运行的脚本,如果让它运行得足够长,将消耗我系统上的所有内存。

没有详细介绍脚本,我有两个问题:

  1. 是否有任何“最佳实践”可以帮助防止泄漏发生?

  2. 有哪些技术可以调试Python中的内存泄漏?


PIPIONE
浏览 712回答 3
3回答

喵喵时光机

Tracemalloc模块作为内置模块集成,从Python 3.4开始,显然,它也可用于以前版本的Python作为第三方库(尽管尚未测试)。该模块能够输出分配最多内存的精确文件和行。恕我直言,这些信息比每种类型的分配实例的数量更有价值(99%的时间最终成为很多元组,这是一个线索,但在大多数情况下几乎没有帮助)。我建议你将tracemalloc与pyrasite结合使用。10次中的9次,在pyrasite-shell中运行前10个片段将为您提供足够的信息和提示,以便在10分钟内修复泄漏。然而,如果您仍然无法找到泄漏原因,pyrasite-shell与此线程中提到的其他工具相结合可能会给您更多提示。您还应该查看pyrasite提供的所有额外帮助程序(例如内存查看器)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python