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