<gcConcurrent> 元素
指定公共语言运行时是否在单独线程上运行垃圾回收。
<configuration>
<runtime>
<gcConcurrent>
语法
<gcConcurrent
enabled="true|false"/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 描述 |
---|---|
enabled |
必需的特性。 指定运行时是否并发运行服务器垃圾回收。 |
enabled 属性
值 | 说明 |
---|---|
false |
不并发运行垃圾回收。 |
true |
并发运行垃圾回收。 这是默认值。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
runtime |
包含有关程序集绑定和垃圾回收的信息。 |
备注
在.NET Framework 4 之前,工作站垃圾回收支持并发垃圾回收,在后台对一个单独线程执行垃圾回收。 在.NET Framework 4 中,并发垃圾回收被后台 GC 取代,它还在单独的线程上在后台中执行垃圾回收。 从 .NET Framework 4.5 开始,服务器垃圾回收可提供后台垃圾回收。 gcConcurrent 元素控制运行时是执行并发还是后台垃圾回收(如果可行),或者是否在前台执行垃圾回收。
禁用后台垃圾回收
警告
从 .NET Framework 4 开始,并发垃圾回收替换为后台垃圾回收。 并发和后台条款可在 .NET Framework 文档中互换使用。 若要禁用后台垃圾回收,请使用 gcConcurrent 元素,如本文所述。
默认情况下,运行时使用并发或后台垃圾回收,回收针对延迟进行了优化。 如果应用程序涉及大量用户交互,则通过让并发垃圾回收保持启用状态,可最大限度缩短应用程序执行垃圾回收时的暂停时间。 如果将 gcConcurrent 元素的 enabled
属性设置为 false
,运行时将使用针对吞吐量优化的非并发垃圾回收。
下列配置文件会禁用后台垃圾回收:
<configuration>
<runtime>
<gcConcurrent enabled="false"/>
</runtime>
</configuration>
如果计算机配置文件中有 gcConcurrentSetting 设置,它会为所有 .NET Framework 应用程序定义默认值。 计算机配置文件设置将重写应用程序配置文件设置。
有关并发和后台垃圾回收的详细信息,请参阅后台垃圾回收。
示例
下面的示例启用后台垃圾回收:
<configuration>
<runtime>
<gcConcurrent enabled="true"/>
</runtime>
</configuration>