Python脚本知道它使用了多少内存

时间:2009-08-06 18:20:42

标签: python memory-management

python脚本如何知道它当前使用的系统内存量? (假设基于unix的操作系统)

5 个答案:

答案 0 :(得分:11)

如果您想知道解释器使用的总内存,请在Linux上阅读/proc/self/statm

如果您想了解对象使用的内存量,请使用Pympler

答案 1 :(得分:4)

类似的问题:

Python memory profiler

看起来有python的内存分析器。

PySizer似乎很受欢迎。 Heapy是另一个。

Google:“python memory profiler”了解更多信息。

答案 2 :(得分:2)

我使用了ActiveState上找到的一次代码片段,似乎效果很好。 实际上它正在使用相同的方法Martinv.Löwis建议。

答案 3 :(得分:1)

我认为没有一种简单的方法可以做到这一点。实际上,在Unix操作系统上,我可能会使用os.getpid()并在/ proc中调用ps或读取条目。

Python 2.6添加了sys.getsizeof(),您可以将其与gc.get_objects()一起使用来遍历工作对象集的大小:

>>> print sum([sys.getsizeof(o) for o in gc.get_objects()])
561616

我认为这在实践中不是一个好主意。

答案 4 :(得分:0)

我没有使用它,但你可以看一下 heapy http://guppy-pe.sourceforge.net/#Heapy),它看起来像是python程序的内存分析器。