【问题标题】:How to measure Valgrind's memory usage?如何测量 Valgrind 的内存使用情况?
【发布时间】:2016-05-15 12:54:56
【问题描述】:

我有一个用 C 编写的应用程序,它使用 zmalloc(从 Redis 借来的)内存包装器来跟踪我的程序动态分配的总内存。我还在 Linux 上使用 Valgrind 来查找内存泄漏和无效的内存访问。

问题是当我使用 Valgrind 时,zmalloctop 显示完全不同的内存使用报告。这让我觉得 Valgrind 本身消耗了太多的内存。

如何测量 Valgrind 的内存使用情况?

【问题讨论】:

    标签: valgrind zmalloc


    【解决方案1】:

    诸如 memcheck 或 helgrind 之类的 valgrind 工具会占用大量内存 跟踪程序的各个方面。 因此,top 显示的内存比您的程序多得多是正常的 自行分配。

    如果你想了解 valgrind 使用的内存,你可以这样做:

    valgrind --stats=yes ...
    

    以下几行

    ----- Valgrind 的内部内存使用统计数据如下 ------

    将提供有关 valgrind 内存使用情况的一些信息。

    使用valgrind --profile-heap=yes ... 了解详细的内存使用情况。

    请注意,如果您不使用标准 malloc 库,则可能需要使用选项 --soname-synonyms=... 才能使 memcheck 或 helgrind 等工具正常工作。 到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 2015-02-27
      • 2012-02-28
      • 2013-10-29
      • 2017-01-03
      • 2011-02-27
      • 1970-01-01
      相关资源
      最近更新 更多