【问题标题】:How can I get the memory consumption peak of my program?如何获得程序的内存消耗峰值?
【发布时间】:2026-01-23 04:55:02
【问题描述】:

我有一个小程序,很像grepcat,它在运行时分配内存。我想知道在整个运行过程中最多分配了多少内存。我怎么能这样做?

【问题讨论】:

    标签: linux memory process


    【解决方案1】:

    为此目的使用/usr/bin/time。示例:

    /usr/bin/time -f '%M kB' command args...
    

    【讨论】:

      【解决方案2】:

      通常如果它与内存相关,我会先检查 valgrind 是否有它:

      http://valgrind.org/docs/manual/ms-manual.html

      做类似的事情:

      valgrind --tool=massif <program-name>
      ms_print massif.<date>
      

      ms_print 输出的顶部应该是一个图表,它将为您提供所需的信息。

      【讨论】:

        最近更新 更多