語言

GC.RefreshMemoryLimit 方法

定義

指示垃圾回收器透過偵測系統上的各種記憶體限制來重新配置自己。

public:
 static void RefreshMemoryLimit();
public static void RefreshMemoryLimit();
static member RefreshMemoryLimit : unit -> unit
Public Shared Sub RefreshMemoryLimit ()

例外狀況

硬性限制太低了。 這種情況可能發生在刷新時,因為新的 AppData 設定或容器記憶體限制變動所暗示的堆積硬上限低於已提交的數值。

-或-

硬性限制是無效的。 例如,這種情況可能發生在堆積硬極限百分比為負的情況下。

備註

除了實際的實體記憶體限制與容器限制設定外,這些設定還可以被覆寫:

     - GCHeapHardLimit
     - GCHeapHardLimitPercent
     - GCHeapHardLimitSOH
     - GCHeapHardLimitLOH
     - GCHeapHardLimitPOH
     - GCHeapHardLimitSOHPercent
     - GCHeapHardLimitLOHPercent
     - GCHeapHardLimitPOHPercent

這些變數不會更新環境變數(不會被讀取),而是在 AppContext 中使用 ulong 值來覆寫這些設定。

例如,你可以用 AppContext.SetData("GCHeapHardLimit", (ulong) 100 * 1024 * 1024) 來覆寫 GCHeapHardLimit 到 100M。

這個 API 只處理那些在執行時可以處理的設定。 對於對 32 位元系統沒有任何影響的設定(例如 GCHeapHardLimit* 的),這個 API 無法處理。

適用於