【发布时间】:2017-06-19 23:10:30
【问题描述】:
我目前正在 Ubuntu 16.04 虚拟机上开发 C++ 应用程序。我需要测量应用程序(堆栈和堆)的总内存使用量,以找出它的最大值范围。由于我对内存分析很陌生,我最终使用 valgrind 如下:命令:
valgrind --tool=massif --stacks=yes ./c++_app
ms_print massif.out.<PID>
在解码的文件中,我在相关图表上得到了 12.5 MB 的峰值。 另一方面,gnome-system-monitor 显示最大内存值为 25 MB。
我应该相信这两个结果中的哪一个?是否也应该与其他软件交叉检查内存使用情况?
【问题讨论】:
-
您也可以尝试
/usr/bin/time -v YourProgram查看最大驻留集。顺便说一句,您可能指的是MB(兆字节)而不是mb(毫秒)。 -
@Mark Setchell 正确我的意思是 MB(兆字节)。我会改正的。