如何监控 Delphi 应用程序的内存使用峰值?
How can I monitor peak memory usage for a Delphi application?
我刚刚结束了我的 Delphi 应用程序的主要重构,并想比较构建之间的峰值内存使用情况。基本上我需要证明最新的重构比以前的构建占用更少的内存。由于应用程序变化如此之大,因此很难确定一个等效的时间点来比较指标。最好的比较方法是了解应用程序执行期间的最高内存消耗。例如,如果我的应用程序在整个持续时间内需要 1 MB 的 RAM,但在 1 毫秒内它需要 2 MB,我想得到 2 MB 作为结果。
我开始使用 FastMM4,但我不确定它是否能满足我的需要。它可以是一个外部工具,也可以是我嵌入到我的应用程序中的东西(就像 FastMM4)。
您可以使用 Process Explorer.
Right-click 在顶部 header,然后使用 Select 列 菜单并选中 Peak Private Bytes 来自 进程内存 选项卡。
Process Explorer 作为 is nice, but it lacks the granularity I needed, so I ended up using FastMM4 to get the memory usage 在每个构建的整个流程中。我只是记录了这些值,然后手动比较了进化。
我刚刚结束了我的 Delphi 应用程序的主要重构,并想比较构建之间的峰值内存使用情况。基本上我需要证明最新的重构比以前的构建占用更少的内存。由于应用程序变化如此之大,因此很难确定一个等效的时间点来比较指标。最好的比较方法是了解应用程序执行期间的最高内存消耗。例如,如果我的应用程序在整个持续时间内需要 1 MB 的 RAM,但在 1 毫秒内它需要 2 MB,我想得到 2 MB 作为结果。
我开始使用 FastMM4,但我不确定它是否能满足我的需要。它可以是一个外部工具,也可以是我嵌入到我的应用程序中的东西(就像 FastMM4)。
您可以使用 Process Explorer.
Right-click 在顶部 header,然后使用 Select 列 菜单并选中 Peak Private Bytes 来自 进程内存 选项卡。
Process Explorer 作为