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

时间:2016-02-05 13:57:16

标签: valgrind zmalloc

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

valgrind --stats=yes ...

以下几行

------ Valgrind的内部记忆使用统计数据遵循------

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

使用valgrind --profile-heap=yes ...来详细记忆。

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