2009-08-12 94 views

回答

9

是的,GC有兩種操作模式:服務器和工作站。您可以在app.config(每個應用程序)或machine.config中更改模式。有關更多信息,請參見http://blogs.msdn.com/junfeng/archive/2004/07/13/181534.aspx

<Configuration> 
    <runtime> 
     <gcServer enabled="false" /> 
     <gcConcurrent enabled="true" /> 
    </runtime> 
</Configuration> 

對於gcServer

  • - 不運行服務器的垃圾收集。 這是默認設置。
  • true - 運行服務器垃圾回收。

gcConcurrent

  • - 不同時運行垃圾回收。
  • true - 同時運行垃圾收集。 這是默認設置。

但一般情況下,你不想改變GC操作模式,尤其是在一臺機器的水平,除非你有一個真的真的很好的理由。通常,唯一關心這個問題的是託管CLR的非託管應用程序(如SQL Server或IIS)。

+0

不要忘了gcConcurrent,雖然不是一個真正的模式,但它是(可以)一個機器寬配置到GC – Marc 2009-08-12 17:50:52

+0

謝謝。我已經忘記了那個。 – 2009-08-12 17:52:51

+1

Tess Fernandez有一篇很棒的文章,包括不同GC模式的細節 - > http://blogs.msdn.com/tess/archive/2008/04/17/how-does-the-gc-work-and-what -are-the-different-generations.aspx – adrianbanks 2009-08-12 18:21:33

相關問題