<GCNoAffinitize> 元素

指定是否将服务器 GC 线程与 CPU 进行连接。

<configuration>
  <运行库>
    <GCNoAffinitize>

语法

<GCNoAffinitize
   enabled="true|false"/>

特性和元素

下列各节描述了特性、子元素和父元素。

特性

属性 描述
enabled 必需的特性。

指定服务器 GC 线程/堆是否与计算机上可用的处理器进行连接。

enabled 特性

说明
false 将服务器 GC 线程与 CPU 进行连接。 这是默认值。
true 不将服务器 GC 线程与 CPU 进行连接。

子元素

无。

父元素

元素 说明
configuration 公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。
runtime 包含有关程序集绑定和垃圾回收的信息。

备注

默认情况下,服务器 GC 线程与其各自的 CPU 进行硬连接。 系统的每个可用处理器都有自己的 GC 堆和线程。 这通常是首选设置,因为它可优化缓存使用情况。 从 .NET Framework 4.6.2 开始,将 GCNoAffinitize 元素的 enabled 属性设置为 true,就可以指定服务器 GC 线程和 CPU 不应紧密耦合。

可以单独指定 GCNoAffinitize 配置元素,以不将服务器 GC 线程与 CPU 进行连接。 还可以与 GCHeapCount 元素一起使用它来控制应用程序使用的 GC 堆和线程数。

如果 GCNoAffinitize 元素的 enabled 属性是 false(其默认值),则还可以使用 GCHeapCount 元素指定 GC 线程和堆的数量,以及使用 GCHeapAffinitizeMask 元素指定要与 GC 线程和堆相联的处理器。

示例

以下示例不与服务器 GC 线程进行硬连接:

<configuration>
   <runtime>
      <gcServer enabled="true"/>
      <GCNoAffinitize enabled="true"/>
   </runtime>
</configuration>

以下示例不与服务器 GC 线程进行连接,并且将 GC 堆/线程数限制为 10:

<configuration>
   <runtime>
      <gcServer enabled="true"/>
      <GCHeapCount enabled="10"/>
      <GCNoAffinitize enabled="true"/>
   </runtime>
</configuration>

请参阅