如何获取有关您的应用程序使用多少RAM的信息?

时间:2010-12-07 19:12:07

标签: c++ boost

所以我需要跨平台的方式,可能是使用boost,或者至少对于windows。那么如何获取应用程序使用多少RAM的信息呢?

4 个答案:

答案 0 :(得分:2)

对于Windows,请使用任务管理器;对于Linux,请使用top。让操作系统告诉你而不是试图在你的应用程序中猜测你会好得多。

答案 1 :(得分:2)

答案 2 :(得分:1)

在使用Visual Studio的Windows上,您可以使用CRT Debug Heap函数。 _CrtMemDumpStatistics可用于打印有用的统计数据。 _CrtMemDumpAllObjectsSince列出了检查点之间分配的所有对象。还有更多有用的东西,如内存泄漏检测(_CrtDumpMemoryLeaks)。也可以使用_CrtMemCheckpoint拍摄快照,并稍后与_CrtMemDifference比较差异。

还可以重新定义new以获取有关CRT调试功能的更详细信息。

#ifdef _DEBUG
#define new new(_CLIENT_BLOCK, __FILE__, __LINE__)
#endif

注意:这仅跟踪CRT分配。要获取整个进程内存信息,可以使用GetProcessMemoryInfo

答案 3 :(得分:0)

我个人喜欢使用http://valgrind.org/测试我的应用程序的整体性能,非常有用于内存泄漏检测!如果您正在寻找简单的运行时信息,Linux的TOP命令和Window的任务管理器都非常容易使用。