【发布时间】:2011-07-10 21:54:53
【问题描述】:
以编程方式测量同一运行进程的堆内存消耗的最有效和最准确的方法/API 是什么?我想估计(尽可能准确)自启动以来new 或malloc 的内存量减去free 或delete 的内存量
问题的范围是 linux 和可能的其他 linux 环境。语言是 C 或 C++
编辑
对于我的目的来说,通过任何malloc 实现知道分配/持有块的实际数量(和大小)就足够了,我不需要实际 malloc 内存减去释放内存的细节
【问题讨论】:
-
从程序内部(您希望它监控自身)还是外部(您希望监控正在运行的程序)?用于人类(交互式使用)还是自动化?
-
来自同一个进程,大概是使用C库
-
如果您编写了代码,请为分配/删除添加包装器并计算字节数...
标签: c linux unix memory-management