加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 09:22:58 所属栏目:大数据 来源:网络整理
导读:这是这个问题的后续行动: What could explain the difference in memory usage reported by FastMM or GetProcessMemoryInfo? 我的Delphi XE应用程序使用了大量内存,有时会导致内存不足异常.我正在尝试了解导致此内存使用的原因和原因,而FastMM报告内存使用
这是这个问题的后续行动: What could explain the difference in memory usage reported by FastMM or GetProcessMemoryInfo?

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

我想了解是什么导致了这个问题,并想知道如何处理它:

>有没有办法知道该内存中包含的内容以及分配的位置?
>是否有一些工具可以在Delphi应用程序中按行/过程跟踪内存使用情况?
>关于如何处理这样的问题的任何一般建议?

编辑1:这是FastMMUsageTracker的两个屏幕截图,表明内存已由系统分配.

>在流程开始之前:

>流程结束后:

图例:浅红色为FastMM分配,深灰色为系统分配.

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

编辑2:由于多种原因,我宁愿不使用完整版的AQTime:

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

还有其他建议吗?

解决方法

另一个问题可能是堆碎片.这意味着你有足够的内存空闲,但所有空闲块都很小.您可以使用源版本 FastMM直观地看到它,并按照建议 here使用FastMMUsageTracker.pas.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读