我需要在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:很好的答案,很好的解释个人价值! –