GCLatencyMode 枚举

定义

调整垃圾收集器侵入应用程序的时间。

public enum class GCLatencyMode
public enum GCLatencyMode
[System.Serializable]
public enum GCLatencyMode
type GCLatencyMode = 
[<System.Serializable>]
type GCLatencyMode = 
Public Enum GCLatencyMode
继承
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 模式会阻止任何进一步的并发回收。

适用于

另请参阅