【发布时间】:2010-09-07 05:34:56
【问题描述】:
您将如何确定一个对象正在使用多少内存?我知道有可能找出一段代码使用了多少,但不是一个实例化的对象(在其生命中的任何时候),这正是我想要的。
【问题讨论】:
-
objgraph 看起来很有趣:mg.pov.lt/objgraph
-
另一种方法是使用pickle。有关此问题的副本,请参阅 this answer。
-
如果它是你类的对象,你可以对你的用户外向,并为他们实现
__sizeof__(self)。例如 NumPy 就是这样做的,a.__sizeof__()比a.nbytes稍大(包括对象开销)——这是分配数组中的字节数。
标签: python performance memory-profiling