【问题标题】:Get peak amount of memory used by a C program获取 C 程序使用的最大内存量
【发布时间】:2017-08-12 20:31:22
【问题描述】:

我最近开始使用 C 进行编程。我需要做的是找出程序在整个进程生命周期中使用的最大内存量。如何在 Windows 上轻松做到这一点?基本上是一种形式的工具:

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

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

【问题讨论】:

    标签: c windows memory memory-management


    【解决方案1】:

    为此,您需要使用GetProcessMemoryInfo

    【讨论】:

      【解决方案2】:

      在 Windows 上,您可以使用 CRT 调试堆获取堆状态的快照,包括使用的内存量。这不会报告使用的最大堆数量,但通过定期拍摄快照,您可能会得到堆使用情况的指示。这既不报告使用的最大堆栈数量。

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

      【讨论】:

        猜你喜欢
        • 2021-07-03
        • 2014-05-09
        • 2021-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-14
        • 2012-02-26
        相关资源
        最近更新 更多