【发布时间】:2011-07-12 14:36:52
【问题描述】:
我需要对 linux 进程中分配的内存进行可靠的测量。我一直在研究mallinfo,但我读过it is deprecated。这种统计数据的最新替代方案是什么?
基本上我对至少两个数字感兴趣:
任何
malloc或任何使用所选 C 库的实现从内核分配的内存块/页面的数量(和大小)(可选但仍然很重要)用户空间代码分配的内存数量(通过
malloc、new等)减去释放的内存(通过free、delete等) )
我有一种可能性是override malloc calls with LD_PRELOAD,但它可能会在运行时引入不必要的开销,而且它可能无法与我正在使用的其他库正确交互,这些库也依赖于 LD_PRELOAD aop-ness。
我读到的另一种可能性是rusage。
需要明确的是,这不是出于调试目的,内存使用是应用程序的固有特征(类似于显示已使用内存量的 Mathematica 或 Matlab,只是在块级)
【问题讨论】:
标签: c linux memory-management