大对象堆压缩的默认策略

时间:2018-11-21 12:41:11

标签: .net garbage-collection large-object-heap

默认情况下,.NET框架用于压缩大对象堆的策略是什么?

  • 从不压实
  • 一段时间后压缩(不像分代堆那样积极)

什么成立?如果是“一段时间后”,是否有一些有关“多长时间”或“何时”的详细信息?

(我对高于4.5的.NET Framework版本感兴趣)

1 个答案:

答案 0 :(得分:2)

默认情况下,完全不压缩LOH。因为那可能很昂贵。

从4.5.1开始,您可以使用GCSettings进行更改。选择为CompactOnce和Never。

因此,您可以manually trigger由应用程序逻辑驱动进行压缩。

仅在第二代收集期间收集(清除)LOH。这可能会导致您的“一段时间后”混乱。但是收集不是压缩。