一位同事说这是可能的(但我觉得有点奇怪)。
如果有办法做到这一点,我在哪里可以做到这一点?
我说的是 winXP 操作系统。
最佳答案
是的,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
:
- false - 不运行服务器垃圾回收。 这是默认值。
- true - 运行服务器垃圾收集。
对于 gcConcurrent
:
- false - 不同时运行垃圾回收。
- true - 同时运行垃圾回收。 这是默认设置。
但是,一般来说,您不想更改 GC 操作模式,尤其是在机器级别,除非您有一个真的,真的很好的理由。通常,唯一关心这个的是托管 CLR 本身的非托管应用程序(例如 SQL Server 或 IIS)。
关于.NET - 有没有办法改变整个机器的 GC 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1267611/