测量最高内存消耗(linux程序)

时间:2010-12-02 13:34:57

标签: memory memory-management

如何衡量某些程序的最高(最大)内存使用量?

它做了很多malloc / free,运行得相当快,所以我看不到最大内存。

我想要像time实用程序那样的smth:

$ time ./program
real xx sec
user xx sec
sys  xx sec

$ mem_report ./program
max memory used  xx mb
shared mem       xx mb

2 个答案:

答案 0 :(得分:1)

time电话是你的shell。如果你打电话给程序/usr/bin/time,你将获得驻留内存使用的一些知识。但请注意,它可能不会计算内存映射文件,共享内存和您可能需要的其他详细信息。

答案 1 :(得分:0)

如果您使用的是Linux,则可以将程序包装在一个轮询的脚本中:

# for your current process
/proc/self/statm

# or a process you know the pid of
/proc/{pid}/statm

并写出结果 - 之后你可以将它们聚合在一起。