我应该有多少个GC线程?

时间:2015-02-09 21:31:10

标签: c# .net-4.0 garbage-collection

我的理解是,使用服务器GC模式,每个处理器可以为您的应用程序获得一个GC线程。但是在查看转储文件时,我会看到不同的结果。

当我打开转储文件时,它的showng 4触发。 enter image description here

!eehheap -gc命令提示相同。

enter image description here

当我运行!threads -special命令时,它显示8个GC线程。为什么? enter image description here

1 个答案:

答案 0 :(得分:3)

您有4个核心和4个堆(如转储中所示)。

每个核心你有一个GC线程(代数0和1)和gen2的后台GC线程。

总共有8个线程。您可以在双核on this page上看到4个线程的描述,查找“服务器GC:之前和之后”。