【问题标题】:Python script knows how much memory it's using [duplicate]Python脚本知道它使用了多少内存[重复]
【发布时间】:2010-11-17 10:56:11
【问题描述】:

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

【问题讨论】:

    标签: python memory-management


    【解决方案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程序的内存分析器。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-02-04
            • 2011-07-31
            • 1970-01-01
            • 1970-01-01
            • 2017-05-02
            • 1970-01-01
            • 2010-10-12
            • 1970-01-01
            相关资源
            最近更新 更多