Ang*_*ngs 3 linux process memory
我在 Debian 上开发了一个 C 代码。我正在寻找一个程序来实时监控我的代码的内存消耗。我关心的唯一值是最大 RAM 消耗,即使程序被终止(例如被 SIGKILL)它也应该保持该值。有人可以为它推荐一个方便的工具吗?
通常我使用top -p pidnumber
,但它输出延迟太多,如果我的程序被杀死,它不会在结束前显示 RAM 消耗。
您可以使用 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 文档。