这是对该问题的后续:FastMM或GetProcessMemoryInfo报告的内存使用差异可能是什么原因?
我的Delphi XE应用程序使用了大量的内存,有时会导致内存不足异常。我正在尝试理解为什么以及什么原因导致了这种内存使用情况,虽然FastMM报告低内存使用情况,但请求TProcessMemoryCounters.PageFileUsage时,我可以清楚地看到应用程序使用了大量内存。
我想了解是什么原因导致了这个问题,并希望得到一些关于如何处理它的建议:
- 是否有办法知道内存中包含什么内容以及它在哪里被分配?
- 是否有一些工具可以跟踪Delphi应用程序中每行/过程的内存使用情况?
- 有关如何处理此类问题的任何一般建议?
编辑1:以下是FastMMUsageTracker的两个屏幕截图,指示系统已分配内存。
- 进程开始之前:
- 进程结束后:
图例:浅红色为FastMM分配的内存,深灰色为系统分配的内存。
我想了解是什么原因导致系统使用了那么多内存。可能是通过了解这些内存中包含的内容或者引起该分配的代码行或过程来理解。
编辑2:出于多种原因,我不想使用完整版本的AQTime:
- 我正在使用多个虚拟机进行开发,它们的许可证系统很麻烦(我已经是TestComplete的注册用户)
- LITE版本提供的信息不足,我不会浪费钱,除非能确定完整版会为我提供有价值的信息
还有其他建议吗?