我有一个用C编写的应用程序,它使用zmalloc
(借用Redis)内存包装器来跟踪我的程序分配的总动态内存。我也在Linux上使用Valgrind来查找内存泄漏和无效的内存访问。
问题是当我使用Valgrind时zmalloc
和top
显示完全不同的内存使用情况报告。这让我觉得Valgrind本身消耗的内存过多。
如何衡量Valgrind的内存使用情况?
答案 0 :(得分:0)
如果你想了解valgrind使用的内存,你可以这样做:
valgrind --stats=yes ...
以下几行
------ Valgrind的内部记忆使用统计数据遵循------
将提供有关valgrind内存使用情况的一些信息。
使用valgrind --profile-heap=yes ...
来详细记忆。
请注意,如果不使用标准malloc库,则可能需要使用选项--soname-synonyms = ...以使memcheck或helgrind等工具正常工作。 到