我如何测量python中对象的内存使用情况?

问题描述 投票:9回答:2

我有一个包含以下内容的python类foo

  • 数据(整数,浮点数)
  • (整数,浮点数和其他对象的列表)
  • (整数,浮点数或其他对象的字典)

假设没有反向引用(循环),是否有一种简单的方法可以测量foo对象的总内存使用情况?

基本上,我正在寻找sys.getsizeof递归版本

我遇到的一些工具包括:笨重的,objgraph和gc,但我认为它们中的任何一个都不能完成任务(对此我可能会得到纠正)

我有一个python类foo,包含:数据(整数,浮点数)列表(整数,浮点数和其他对象的字典)(整数,浮点数和其他对象的字典)假设没有后退。 ..

python memory-management
2个回答
19
投票

尝试Pympler,它自我描述为“一种用于测量,监视和分析Python对象的内存行为的开发工具。”


1
投票

我不确定您是否要获取类型的大小或实际的复杂对象,但是查看getsizeof时,文档指向此食谱以提供可靠的递归版本:

© www.soinside.com 2019 - 2024. All rights reserved.