我正在编写一个小型VM(感兴趣的链接:http://github.com/tekknolagi/carp)并且很好奇它使用了多少内存。
我检查了Valgrind的Massif,但输出似乎错误或有限(可能是因为我在OS X上)。
我想运行类似:memprofile -- ./carp.out -f examples/carp/reg.carp
的内容,并打印出它使用的内存量。这可能吗?也希望在Linux上进行配置(在VPS上)。
我不能使用像top
这样的东西的原因是:a)它将以千字节的内存使用量(我认为)和b)程序在不到一秒的时间内退出。
谢谢!
答案 0 :(得分:2)
我首选的非侵入式方法是在gdb
下运行程序并在exit
中放置断点,然后检查/proc/$pid/smaps
(如果在Linux上;否则使用系统上的等效项)一旦断点被击中。使用top
也有效,但往往会给你较少的信息。