获取C程序使用的峰值内存量

时间:2017-03-21 09:12:05

标签: c windows memory memory-management

我最近开始摆弄C中的编程。我需要做的是找到程序在整个生命周期中使用的最大内存量。如何在Windows上轻松完成此操作?基本上是以下形式的工具:

> memoryused myprogram.exe
> peak amount of memory used: 36 bytes

我真的不需要在执行过程中的任何给定时间跟踪内存使用情况。

2 个答案:

答案 0 :(得分:1)

为此你需要使用GetProcessMemoryInfo

答案 1 :(得分:0)

在Windows上,您可以使用CRT Debug Heap来获取堆状态的快照,包括使用的内存量。这不会报告使用的最大堆量,但通过以常规间隔拍摄快照,您可能会获得堆使用情况的指示。这既不会报告最大堆栈使用量。

另见https://msdn.microsoft.com/en-us/library/h3z85t43.aspx