2

我正在尝试识别我正在处理的 Python 程序中的内存泄漏。我目前在 Mac OS 64 位上运行 Python 2.7.4。我安装了 heapy 来解决这个问题。

该程序涉及使用搁置模块创建、存储和读取大型数据库。我没有使用 writeback 选项,我知道这会造成内存问题。

Heapy usage 表明在程序执行过程中,内存大致是恒定的。然而,我的活动监视器显示内存迅速增加。在 15 分钟内,该进程消耗了我所有的系统内存 (16gb),并且我开始看到页面输出。知道为什么 heapy 没有正确跟踪这个吗?

4

1 回答 1

0

看看这篇精彩的文章。您很可能没有看到内存泄漏,而是看到了内存碎片。我发现的最佳解决方法是确定大型工作集操作的实际输出是什么,在新进程中加载​​大型数据集,计算输出,然后将该输出返回到原始进程。

这个答案也有一些很好的洞察力和一个例子。我在您的问题中没有看到任何似乎会阻止使用 PyPy 的内容。

于 2013-05-17T19:23:11.313 回答