GCLatencyMode 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
调整垃圾收集器侵入应用程序的时间。
public enum class GCLatencyMode
public enum GCLatencyMode
[System.Serializable]
public enum GCLatencyMode
type GCLatencyMode =
[<System.Serializable>]
type GCLatencyMode =
Public Enum GCLatencyMode
- 继承
- 属性
字段
Batch | 0 | 在批调用中禁用垃圾回收并发,并回收对象。 这是最高级别的侵入模式。 此模式专用于最大吞吐量(但以牺牲响应性为代价)。 |
Interactive | 1 | 在应用程序运行时启用垃圾回收并发,并回收对象。 这是工作站上垃圾回收的默认模式,并且较 Batch 少受侵入。 它可以平衡响应性和吞吐量。 此模式等同于在并发的工作站上执行垃圾回收。 |
LowLatency | 2 | 启用回收对象时比较保守的垃圾回收。 仅在系统遇到内存压力时才发生完全回收,而通常情况下发生 0 代和 1 代回收。 此模式不可用于服务器垃圾回收器。 |
NoGCRegion | 4 | 指示当应用正在执行关键路径时挂起垃圾回收。 NoGCRegion 是一个只读值;也就是说,不能将 NoGCRegion 值分配给 LatencyMode 属性。 通过调用 TryStartNoGCRegion 方法指定无 GC 区域延迟模式,并通过调用 EndNoGCRegion() 方法终止该模式。 |
SustainedLowLatency | 3 | 启用尝试减少延长时期的延迟的垃圾回收。 回收器尝试只执行生成 0、生成 1,以及并发只生成 2 个集合。 如果系统处于内存压力之下,则完整的阻碍性回收还是会出现。 |
注解
可以通过将LatencyMode属性设置为除任何枚举值以外的GCLatencyMode.NoGCRegion
任何GCLatencyMode枚举值来调整应用程序中垃圾回收的侵入性。 还可以通过检索 GCSettings.LatencyMode 属性值来确定垃圾回收器的当前延迟模式。
有关垃圾回收运行时配置设置如何影响此枚举的默认值的讨论,请参阅 延迟模式 。
该 GCLatencyMode.Batch 模式将替代 <gcConcurrent> 运行时配置设置。 如果元素启用了 <gcConcurrent> 并发垃圾回收,切换到 Batch 模式会阻止任何进一步的并发回收。