2
一位同事說這是可能的(但對我來說看起來有點奇怪)。
如果有辦法做到這一點,我可以在哪裏做到這一點?
我在說的是winXP操作系統。.NET - 有沒有辦法改變整個機器的GC行爲?
一位同事說這是可能的(但對我來說看起來有點奇怪)。
如果有辦法做到這一點,我可以在哪裏做到這一點?
我在說的是winXP操作系統。.NET - 有沒有辦法改變整個機器的GC行爲?
是的,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
:
但一般情況下,你不想改變GC操作模式,尤其是在一臺機器的水平,除非你有一個真的,真的很好的理由。通常,唯一關心這個問題的是託管CLR的非託管應用程序(如SQL Server或IIS)。
不要忘了gcConcurrent,雖然不是一個真正的模式,但它是(可以)一個機器寬配置到GC – Marc 2009-08-12 17:50:52
謝謝。我已經忘記了那個。 – 2009-08-12 17:52:51
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