测量短期过程的内存使用情况

时间:2014-08-12 19:02:06

标签: c memory profiling

我正在编写一个小型VM(感兴趣的链接:http://github.com/tekknolagi/carp)并且很好奇它使用了多少内存。

我检查了Valgrind的Massif,但输出似乎错误或有限(可能是因为我在OS X上)。

我想运行类似:memprofile -- ./carp.out -f examples/carp/reg.carp的内容,并打印出它使用的内存量。这可能吗?也希望在Linux上进行配置(在VPS上)。

我不能使用像top这样的东西的原因是:a)它将以千字节的内存使用量(我认为)和b)程序在不到一秒的时间内退出。

谢谢!

1 个答案:

答案 0 :(得分:2)

我首选的非侵入式方法是在gdb下运行程序并在exit中放置断点,然后检查/proc/$pid/smaps(如果在Linux上;否则使用系统上的等效项)一旦断点被​​击中。使用top也有效,但往往会给你较少的信息。