Python脚本知道它使用了多少内存[重复]
Posted
技术标签:
【中文标题】Python脚本知道它使用了多少内存[重复]【英文标题】:Python script knows how much memory it's using [duplicate] 【发布时间】:2010-11-17 10:56:11 【问题描述】:python 脚本如何知道它当前使用的系统内存量? (假设是基于 Unix 的操作系统)
【问题讨论】:
【参考方案1】:如果您想知道解释器使用的总内存,请在 Linux 上阅读 /proc/self/statm
。
如果您想了解您的对象使用了多少内存,请使用Pympler。
【讨论】:
【参考方案2】:类似的问题:
Python memory profiler
看起来有用于 python 的内存分析器。
PySizer 似乎很受欢迎。 堆是另一个。
Google:“python 内存分析器”了解更多信息。
【讨论】:
+1 - 非常相似。我认为这个问题可以作为重复关闭。【参考方案3】:我使用过一次我在ActiveState 上找到的 sn-p,它似乎运行良好。 实际上,它使用的是 Martin v. Löwis 建议的相同方法。
【讨论】:
【参考方案4】:我认为没有简单的方法可以做到这一点。实际上,在 Unix 操作系统上,我可能会使用 os.getpid() 并调用 ps 或读取 /proc 中的条目。
Python 2.6 添加了 sys.getsizeof(),您可以将其与 gc.get_objects() 一起使用来遍历工作对象集的大小:
>>> print sum([sys.getsizeof(o) for o in gc.get_objects()])
561616
我认为这在实践中不是一个好主意。
【讨论】:
【参考方案5】:我没用过,不过你可以看看heapy (http://guppy-pe.sourceforge.net/#Heapy),它看起来是python程序的内存分析器。
【讨论】:
以上是关于Python脚本知道它使用了多少内存[重复]的主要内容,如果未能解决你的问题,请参考以下文章