我的程序中有过多的内存使用量。为了调试内存使用量正在增加的位置,我使用下面的代码片段来检查RAM使用情况。
memory_usage = sum(sys.getsizeof(i) for i in gc.get_objects())
print('Memory usage in MB', float(usage)/1000000)
这是找到Python程序使用多少MB内存的正确方法吗?如果没有,你能建议最好的方法来监控内存使用情况吗? 我也试过
1. resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
2. from guppy import hpy
h = hpy()
print "heapsize: ", h.heap()
3.import psutil
print "Mem usage:",psutil.virtual_memory()
但是所有这些都会产生非常不同的结果,从而增加了混乱。