2016-02-05 69 views
0

我有一個用C編寫的應用程序,它使用zmalloc(借用Redis)內存包裝來跟蹤我的程序所分配的全部內存。我也在Linux上使用Valgrind來查找內存泄漏和無效的內存訪問。如何衡量Valgrind的內存使用情況?

問題是,當我使用Valgrind時,zmalloctop顯示完全不同的內存使用情況報告。這讓我覺得Valgrind本身消耗的內存太多了。

如何衡量Valgrind的內存使用情況?

回答

0

諸如memcheck或helgrind之類的valgrind工具會使用大量的內存來跟蹤程序的各個方面的 。 因此,頂部顯示比您的程序 分配的內存多得多的內存是正常的。

如果你想有有關Valgrind的使用的內存的想法,你可以這樣做:以下

valgrind --stats=yes ... 

線條

------ Valgrind的內部內存使用統計跟蹤 - ----

會給出一些關於valgrind內存使用情況的信息。

使用valgrind --profile-heap=yes ...有詳細的內存使用。

請注意,如果您不使用標準malloc庫,則可能需要使用選項--soname-synonyms = ...才能使諸如memcheck或helgrind等工具正常工作。 至