<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>