如何在python中度量对象的内存使用情况?

2024-05-23 18:27:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python类“foo”,它包含:

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

假设没有反向引用(循环),有没有一种简单的方法来测量“foo”对象的总内存使用量?在

本质上,我在寻找一个递归版本系统获取大小““

我遇到的一些工具包括:heapy、objgraph和gc,但我认为它们中的任何一个都不能胜任这项任务(我可能会对此进行更正)

感谢您的建议!在


Tags: 工具数据对象方法内存版本列表字典
2条回答

试试Pympler,它自称是“一个测量、监视和分析Python对象内存行为的开发工具。”

一些类似于

>>> import pympler
>>> print pympler.asizeof.asizeof(your_object)

过去对我很有帮助。在

你可以search S.O.了解更多信息-这是来自Alex Martelli的recommendation。在

我不确定您是要获取类型的大小,还是实际的复杂对象,但是看看getsizeof,文档指出了一个健壮递归版本的方法:

http://code.activestate.com/recipes/577504/

所以我假设没有'stock'python调用来完成,否则文档会提到它。在

相关问题 更多 >