如何分析Delphi应用程序中过多的内存消耗(PageFileUsage)?

2024-03-11

这是这个问题的后续:如何解释 FastMM 或 GetProcessMemoryInfo 报告的内存使用情况的差异? https://stackoverflow.com/q/9704786/184404

我的 Delphi XE 应用程序使用大量内存,有时会导致内存不足异常。我试图了解导致此内存使用的原因和原因,虽然 FastMM 报告内存使用率较低,但在请求 TProcessMemoryCounters.PageFileUsage 时,我可以清楚地看到应用程序使用了大量内存。

我想了解导致此问题的原因,并希望获得一些有关如何处理该问题的建议:

  • 有没有办法知道该内存中包含什么以及它被分配在哪里?
  • 是否有一些工具可以在 Delphi 应用程序中按行/过程跟踪内存使用情况?
  • 关于如何处理此类问题有什么一般建议吗?

EDIT 1:下面是FastMMUsageTracker的两张截图,表明系统已经分配了内存。

  • 流程开始之前:
  • 进程结束后:

图注:浅红色是FastMM 分配的,深灰色是系统分配的。

我想了解是什么导致系统使用这么多内存。可能是通过了解该内存中包含的内容或者哪行代码或过程导致了该分配。

EDIT 2:出于多种原因,我不想使用 AQTime 的完整版本:

  • 我使用多个虚拟机进行开发,它们的许可系统是 PITA(我已经是 TestComplete 的注册用户)
  • LITE 版本没有提供足够的信息,如果没有确定 FULL 版本会给我提供有价值的信息,我不会浪费钱

还有其他建议吗?


另一个问题可能是堆碎片。这意味着您有足够的可用内存,但所有可用块都太小。您可以使用以下源版本直观地看到它FastMM http://sourceforge.net/projects/fastmm/并按照建议使用 FastMMUsageTracker.pashere https://stackoverflow.com/a/1701917/1242.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何分析Delphi应用程序中过多的内存消耗(PageFileUsage)? 的相关文章

随机推荐

  • 为什么控制器响应将模型字段名称设置为小写?

    在我的 NET Core 项目中 在所有控制器的响应中 对象字段均以小写形式出现在字段名称的前一个或两个字母中 iD PARAM foo cD PROM bar txT OFFICER lorem cN NEW PARAM fub iD S
  • 链接器错误,静态常量似乎没有被 odr 使用

    当您了解细节时 odr used 标准中的定义非常令人困惑 至少对我来说是这样 我通常依赖 如果引用 的非正式定义 except当左值到右值的转换可用时 对于整型常量 它们应该被视为右值 这似乎应该将其排除在引用规则之外 这是我无法链接的示
  • 如果总是与同一事物进行比较,是否有办法缩短条件?

    当我需要编写一个反复比较同一项目的条件时 我总是觉得很烦人 因为我会多次输入该项目 string x textBox1 Text if x apple x orange x banana 我想要这样的东西 但这当然不是正确的语法 if x
  • solveJsonModule 无法与 Angular 10 一起运行?

    我的全新 Angular 10 项目的资产文件夹中有一个基本的 JSON 文件 角度 CLI 10 0 1 节点 14 5 0 操作系统 win32 x64 TSC 版本 3 9 5 在我的 tsconfig json 中我有 compil
  • 从 Nib 或 Storyboard 设置 WKWebView 上的 WKWebViewConfiguration

    在 iOS 11 中 Apple 添加了在笔尖和情节提要上添加 WKWebViews 出口的功能集 使用自动设置的默认 WKWebViewConfiguration 时 它似乎工作正常 但是 我希望能够使用自定义 WKWebViewConf
  • 如何从高图表中删除“值”和“系列”?

    I m using highcharts on my website which looks great but I now want to remove these two labels from the chart 我尝试禁用各种标签
  • 如何获取google地图上的平均交通数据

    我想像这样在谷歌地图上显示平均流量层 但是 这张地图显示的是实时流量数据 而不是我想在谷歌地图上显示一段时间内的平均流量 这可能吗 或者任何其他地图 API 可以提供帮助吗 请为该问题加注星标问题跟踪器链接 https issuetrack
  • 如何在com.google.android.material.chip.Chip上设置chipText?

    我正在调查以下提供的材料成分 implementation group com google android material name material version 1 0 0 alpha3 namely com google and
  • PHP 彗星 usleep 阻塞 apache mpm?

    我那里有一颗彗星我以这种方式运行 while 循环 items statement gt fetchAll statement is a PDO Statement iteration 0 while count items 0 itera
  • 使用复制的 git 存储库安全吗?

    如果我使用以下命令复制跟踪文件夹rsync a or cp R 然后我可以像使用 git 克隆一样使用该副本吗 或者这会导致各种奇怪的问题吗 这一切都在我的计算机上运行 因此没有其他人访问该存储库 显然 git cloned 目录知道它是从
  • 动态计算 Pandas 中公式的表达式

    我想使用一个或多个数据帧列执行算术pd eval 具体来说 我想移植以下计算公式的代码 x 5 df2 D df1 A df1 B x 使用代码pd eval 使用理由pd eval是我想自动化许多工作流程 因此动态创建它们对我很有用 我的
  • 在 Linux 上以汇编形式输出整数

    这需要在纯汇编中完成 即没有库或对 C 的调用 我理解问题的本质 需要将整数除以 10 将一位数余数转换为 ASCII 输出 然后用商重复该过程 但由于某种原因 它不起作用 我在 x86 上使用 NASM 这是我到目前为止所拥有的 不输出任
  • UICollectionView 的单元格消失

    发生了什么 目前我有一个应用程序使用两个UICollectionViews里面一个UITableView 通过这种方式 我创建了一个看起来像 Pulse News 的应用程序 我的问题是 有时第 6 行和第 11 行完全消失 在本应是单元格
  • 我想通过 graph api 分享朋友的帖子

    我想通过 graph api 在 facebook 上分享一些帖子 但是没有这样的api 只有 饲料 存在 我尝试使用 me feed 图形 API 操作来分享我朋友的帖子 以及页面中的帖子 但它和我在 Facebook 网站上分享的不一样
  • 开发 BlackBerry OS6 需要哪个版本的 Blackberry JRE

    我下载了适用于 BlackBerry 的 Eclipse 插件 默认情况下具有 BlackBerry OS 7 运行时 我需要定位 BlackBerry OS 6 和 OS 7 设备 这也适用于 BlackBerry OS 6 还是我需要更
  • 加快我的批处理文件解析速度

    我有一个批处理文件 它从一个 txt 文件中获取输入 如下所示 Microsoft R Windows Script Host Version 5 8 Copyright C Microsoft Corporation All rights
  • System.String[] Split(Char[])' 方法无法识别

    我有以下数据 我想使用 Linq to Entities 过滤数据 但我收到异常 LINQ to Entities 无法识别方法 System String Split Char 方法 并且该方法不能翻译为 存储表达式 我的表中有以下数据
  • 为因子的每个级别附加一行总和

    我想为每个 Reg 添加一行总和 如下所示 Reg Res Pop 1 Total 1000915 2 A Urban 500414 3 A Rural 500501 4 Total 999938 5 B Urban 499922 6 B
  • UIPageViewController 在旋转时重置为第一页

    当用户旋转设备时 UIPageViewController从它显示的任何页面淡出回到第一页 这确实很烦人 尤其是当用户进入文档的多个页面时 它仅出现在 iOS 6 中 当用户旋转设备时 spineLocationForInterfaceOr
  • 如何分析Delphi应用程序中过多的内存消耗(PageFileUsage)?

    这是这个问题的后续 如何解释 FastMM 或 GetProcessMemoryInfo 报告的内存使用情况的差异 https stackoverflow com q 9704786 184404 我的 Delphi XE 应用程序使用大量