一些Python程序在运行时会占用越来越多的内存(“top”命令中的VIRT和RES列不断增加),但我已经非常仔细地检查了代码,确信没有内存泄漏(没有使用任何字典或全局变量,只是一个主方法调用若干次子方法)。我使用heapy对内存使用情况进行了分析。
每次主方法调用子方法时,出乎意料地总是给出相同的输出。但内存使用量仍在不断增加。
我想知道我是否没有正确使用heapy,或者“top”命令中的VIRT和RES并没有真正反映我代码使用的内存?
还是有人能够提供更好的方法来跟踪Python脚本中的内存使用情况吗?
非常感谢!
from guppy import hpy;
heap = hpy();
.....
print heap.heap();
每次主方法调用子方法时,出乎意料地总是给出相同的输出。但内存使用量仍在不断增加。
我想知道我是否没有正确使用heapy,或者“top”命令中的VIRT和RES并没有真正反映我代码使用的内存?
还是有人能够提供更好的方法来跟踪Python脚本中的内存使用情况吗?
非常感谢!