服务器集合是否为每个核心创建一个单独的 LOH 堆? C#

Does Server Collection Create A Seperate LOH Heap For Each Core? C#

根据关于垃圾收集的研究,服务器收集允许为您拥有的每个 CPU 核心创建一个单独的线程,该线程运行单独的 GC 和分代堆。但是我无法找到任何关于每个线程是否都有自己的 LOH 堆或者每个应用程序只有一个 LOH 堆的信息

有趣的问题。它似乎确实为每个 CPU 维护了一个 heap(小和大),尽管 每个线程不是。这很有道理:)

Workstation and server garbage collection

Server GC

The following are threading and performance considerations for server garbage collection:

...

  • A heap and a dedicated thread to perform garbage collection are provided for each CPU, and the heaps are collected at the same time. Each heap contains a small object heap and a large object heap, and all heaps can be accessed by user code. Objects on different heaps can refer to each other.