大对象堆压缩
默认情况下,大型对象堆不会像经典的对象堆那样被压缩,这可能导致内存碎片, 并且可能导致 OutOfMemoryException
s
从 .NET 4.5.1 开始,有一个选项可以显式压缩 Large Object Heap(以及垃圾收集):
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();
正如任何显式的垃圾收集请求(它被称为请求,因为 CLR 不被强制执行它)一样小心使用并且默认情况下避免使用它,因为它可以去除校准 GC
s 统计数据,从而降低其性能。