我正在对服务器进行性能调整,并尝试指定以下配置,以及将GCLatencyMode设置为LowLatency

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
  <gcServer enabled="true"/>
  <gcConcurrent enabled="false"/>
</runtime>

这使我获得了性能上的提高,直到同事指出这两个设置在.Net 4中是互斥的,我对此感到非常高兴。

那么,这将解决什么配置问题?当然,GCSettings.IsServerGC返回true,并且将gcConcurrent设置为false可以带来非常可观的性能提升。

(我将要分析的代码编译为测试工具,因此尽管它通常是由IIS托管的服务器,但我所有的时间都在控制台应用程序上)

最佳答案

我在这里找到了您的答案:
Latency Modes



因此,启用gcServer时,将自动禁用gcConcurrent。无需将gcConcurrent设置为禁用。 GCLatencymode以批处理模式运行,这可以提高性能。

09-06 04:23