我有一個用C編寫的應用程序,它使用zmalloc
(借用Redis)內存包裝來跟蹤我的程序所分配的全部內存。我也在Linux上使用Valgrind來查找內存泄漏和無效的內存訪問。如何衡量Valgrind的內存使用情況?
問題是,當我使用Valgrind時,zmalloc
和top
顯示完全不同的內存使用情況報告。這讓我覺得Valgrind本身消耗的內存太多了。
如何衡量Valgrind的內存使用情況?
我有一個用C編寫的應用程序,它使用zmalloc
(借用Redis)內存包裝來跟蹤我的程序所分配的全部內存。我也在Linux上使用Valgrind來查找內存泄漏和無效的內存訪問。如何衡量Valgrind的內存使用情況?
問題是,當我使用Valgrind時,zmalloc
和top
顯示完全不同的內存使用情況報告。這讓我覺得Valgrind本身消耗的內存太多了。
如何衡量Valgrind的內存使用情況?
諸如memcheck或helgrind之類的valgrind工具會使用大量的內存來跟蹤程序的各個方面的 。 因此,頂部顯示比您的程序 分配的內存多得多的內存是正常的。
如果你想有有關Valgrind的使用的內存的想法,你可以這樣做:以下
valgrind --stats=yes ...
線條
------ Valgrind的內部內存使用統計跟蹤 - ----
會給出一些關於valgrind內存使用情況的信息。
使用valgrind --profile-heap=yes ...
有詳細的內存使用。
請注意,如果您不使用標準malloc庫,則可能需要使用選項--soname-synonyms = ...才能使諸如memcheck或helgrind等工具正常工作。 至