什么是从程序中测量内存使用的最佳方法?

时间:2008-11-23 23:08:55

标签: windows memory-management

我一直在尝试优化我正在开发的Windows程序,试图找到最小化内存使用的最佳数据结构。它加载大块数据,因此对于大文件,它可以使用大量的RAM。

对于内存测量,我一直在使用GlobalMemoryStatusEx。请参阅:http://msdn.microsoft.com/en-us/library/aa366589(VS.85).aspx

我相信这适用于大多数Windows版本,从Windows 2000到Windows Vista。

这是从程序中测量内存使用的首选方法,还是有另一种更好的方法?


Addenum:找到Stackoverflow问题:How to get memory usage under Windows in C++引用GetProcessMemoryInfo

我会尝试一下。

3 个答案:

答案 0 :(得分:1)

如果您尝试以内存方式优化自己的程序,我建议您使用内存分析器工具。 那里有很多......有些是免费的,有些则不是..你肯定会找到你需要的那个。 这些工具是专门为你需要的(以及内存泄漏搜索)编写的,所以...很难与它们进行比较,并且可以通过自己的程序自行完成这样的工作:)

答案 1 :(得分:1)

在我的问题中查看addenum。

答案 2 :(得分:0)

我使用valgrind来跟踪内存使用情况,以及分析代码和检测内存泄漏。我相信,massif工具可以跟踪堆栈和堆上的内存使用情况。