.NET - 有没有办法改变整个机器的 GC 行为?

标签 .net windows windows-xp

一位同事说这是可能的(但我觉得有点奇怪)。
如果有办法做到这一点,我在哪里可以做到这一点?
我说的是 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/

相关文章:

c# - 无状态框架与独立的 Forks 一起工作?

C++,在静态成员函数中使用 'this' 的宏的解决方法

Windows 上的 Python 2.6 : how to terminate subprocess. Popen 带有 "shell=True"参数?

windows - 如何创建一个批处理脚本,在达到文件夹大小限制时删除最旧的文件

windows - 如何使用groovy脚本为现有jenkins作业添加执行批处理命令

windows - 复制文件+文件时去掉方框字符

c# - 使用未分配的局部变量 "strb"StringBuilder

c# - 如何重载 Collection(Of T) 的 Items 访问器?

c# - 在 C# 中,如何根据名称向对象添加事件处理程序?

windows - 跟踪 Windows 注册表中的更改