python脚本如何知道它当前使用的系统内存量? (假设基于unix的操作系统)
答案 0 :(得分:11)
如果您想知道解释器使用的总内存,请在Linux上阅读/proc/self/statm
。
如果您想了解对象使用的内存量,请使用Pympler。
答案 1 :(得分:4)
类似的问题:
看起来有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程序的内存分析器。