dotMemory 2025.2 Help

堆碎片

使用 堆碎片 图表评估托管堆段的碎片情况:

  • 第 1 代和第 2 代堆段。

  • 大对象堆(LOH)——用于存储大对象(85,000 字节及以上)的独立堆。 LOH 碎片可能是一个严重的问题(请参阅 .NET 内存管理概念)。

  • 固定对象堆——用于存储禁止在堆中移动的对象的独立堆。 您可以将 固定对象 作为单独的对象集打开。

  • 冻结对象堆(FOH)——用于存储不可变对象的独立堆。

点击图表标题将打开快照中所有对象的 按代分组 视图。

堆碎片
  1. 堆段名称。

  2. 段内堆的数量。

    图表上的每个条形代表一个特定的堆。

  3. 由 GC 定义的堆段总大小。

    图表上条形的长度对应于段内某些堆的总大小。 请注意, 总计 大小可能略大于 已固定已取消固定免费 的总和: 总计 大小还包括用于对齐、填充和其他特定用途的内存块。

  4. 固定对象的总大小。

    固定对象被禁止在堆中移动。 通常,这些对象由某些非托管代码使用,或者可能是使用 fixed 语句的结果。

  5. 分配在堆段中的所有对象(不包括固定对象)的总大小。

  6. 堆段中空闲内存的总大小。

堆碎片 还允许您打开两个特定的对象集:

个无法访问的对象
最后修改日期: 2025年 9月 27日