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 模式可防止任何進一步的並行收集。