我有一个python类“foo”,其中包含:
假设没有反向引用(循环),是否有一种简单的方法来衡量“foo”对象的总内存使用量?
基本上,我正在寻找“sys.getsizeof”的 递归版
我遇到的一些工具包括:heapy,objgraph和gc,但我不认为他们中的任何一个都能完成任务(我可能会对此进行更正)
建议赞赏!
答案 0 :(得分:18)
尝试Pympler,它将自己描述为“用于衡量,监控和分析Python对象的内存行为的开发工具。”
的内容
>>> import pympler
>>> print pympler.asizeof.asizeof(your_object)
过去对我很有帮助。
您可以search S.O.了解更多信息 - 这是来自Alex Martelli的recommendation。
答案 1 :(得分:1)
我不确定你是否想要获得类型或实际复杂对象的大小,但是看看getsizeof,文档指向这个配方以获得强大的递归版本:
http://code.activestate.com/recipes/577504/
所以我假设没有“股票”python调用会这样做,否则文档会提到它。