我需要在linux進程中有可靠的分配內存測量。我一直在尋找mallinfo,但我讀過it is deprecated。這種統計數據的最新狀態是什麼?進程從內核分配內存塊
基本上我很感興趣,至少有兩個數字:任何malloc
號(和大小)從內核分配的內存塊/頁或任何實現使用選擇
的C庫
(可選的,但仍然是重要的)數量的所分配的存儲器的由用戶空間代碼(通過
malloc
,new
等)減去由它的解除分配的存儲器(經由free
,delete
等)
我有一種可能性是override malloc calls with LD_PRELOAD,但它可能會在運行時引入不必要的開銷,也可能與我使用的其他庫無法正常交互,這也依賴於LD_PRELOAD aop-ness。
我讀過的另一種可能性是rusage。
需要明確的是,這是NOT用於調試目的,存儲器使用率(即在塊級顯示的存儲器使用量,只有更精確類似於數學或Matlab)的應用程序的固有特徵
+1:很好的答案,很好的解釋個人價值! –