我需要使用Pympler帮助并获取对象的内存使用情况。我这样使用它:
from pympler import classtracker
myObj = SomeClass()
tr = classtracker.ClassTracker()
tr.track_object(myObj)
# Do stuff with object here
# Print stats
tr.create_snapshot()
tr.stats.print_summary()
这很好用,我得到了这些结果:
---- SUMMARY ------------------------------------------------------------------
active 0 B average pct
SomeClass 1 136.45 KB 136.45 KB 0%
-------------------------------------------------------------------------------
我的问题是如何获得平均数并将其放入变量中?我在文档中找不到任何内容。我正在运行一些测试,并希望在测试的整个生命周期内获得平均值。如果您知道某种方法,或者我可以用任何其他包来完成我想要的,请告诉我。谢谢。
答案 0 :(得分:1)
您可以使用asizeof函数执行此操作,甚至不需要使用classtracker(除非您使用的是一些更复杂的功能)
from pympler.asizeof import asizeof
class SomeClass:
def __init__(self):
self.list = []
def append(self, i):
self.list.append(i)
myObj = SomeClass()
myObj.append("Hello")
myObj.append("World")
print 'Sizeof myObj is {}'.format(asizeof(myObj))