我在有关 .NET 4 GC 的 MSDN 文章中找到了这一点:http://msdn.microsoft.com/en-us/library/ee787088.aspx
“无论设置如何,工作站垃圾收集始终在只有一个处理器的计算机上使用。如果指定服务器垃圾收集,CLR 将使用禁用并发的工作站垃圾收集。”
我认为它们指的是一个物理 CPU。然而,我在一台具有 1 个 CPU 但 8 个 HT 逻辑处理器的服务器上以服务器 GC 模式运行我的应用程序(或者至少我认为我是这样做的)...
以下代码输出“true”
System.Runtime.GCSettings.IsServerGC
所以我不明白 - 下面的代码要么打印不正确的信息,要么意味着一个没有 HT 的单核 CPU...
谁能明确解释一下吗?
最佳答案
看来“一个处理器”是指单核无超线程的CPU。
关于c# - 什么时候服务器GC会被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11488324/