You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi Win64使用TThread.Synchronize无泄漏但内存增长及碎片优化咨询

内存碎片定位与优化问题咨询

核心问题与测试背景

  • 实际应用中,任务管理器或GetProcessMemoryInfo->PagefileUsage显示内存持续增长,但FastMM4、Eurekalog均未检测到任何对象泄漏。
  • 为定位问题制作的最小测试用例流程:
    1. 启动时通过GetMemoryManagerState()和GetProcessMemoryInfo()检查内存占用;
    2. 创建10000个线程并分配内存;
    3. 所有线程终止后释放所有分配的内存;
    4. 未点击停止按钮则重复步骤2。
  • 测试验证结果:经FastMM全调试模式、Eurekalog多次验证,无对象泄漏,但首次运行后内存骤增近170MB。

已排查进展

更新1:测试用例中的内存增长问题已确认由内存碎片导致,根源是System.SysUtils.EventCache,添加指定代码后可消除该测试中的内存增长,但实际应用中无效,推测存在更多碎片来源。

咨询内容

有哪些工具与技术可用于定位和优化内存碎片?目前仅找到FastMM4的FastMM_LogStateToFile,它能显示Overhead和Efficiency值,但无法定位碎片产生的具体原因。

内容的提问来源于stack exchange,提问作者Sargis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 08:22:16