一个测量程序内存消耗的便捷工具

Ang*_*ngs 3 linux process memory

我在 Debian 上开发了一个 C 代码。我正在寻找一个程序来实时监控我的代码的内存消耗。我关心的唯一值是最大 RAM 消耗,即使程序被终止(例如被 SIGKILL)它也应该保持该值。有人可以为它推荐一个方便的工具吗?

通常我使用top -p pidnumber,但它输出延迟太多,如果我的程序被杀死,它不会在结束前显示 RAM 消耗。

Rap*_*ens 5

您可以使用 Valrind 工具 Massif。

valgrind --tool=massif prog
Run Code Online (Sandbox Code Playgroud)

默认情况下,它会创建已用堆内存的图形,但它也可以显示已使用的堆栈内存

valgrind --tool=massif --stacks=yes prog
Run Code Online (Sandbox Code Playgroud)

Valgrind 有减慢程序执行速度的趋势,因此如果您的应用程序运行时间过长,请注意。

有关 Massif 的更多信息,我可以推荐非常好的Valgrind 文档