Freigeben über


GC.RefreshMemoryLimit Methode

Definition

Weist den Garbage Collector an, sich selbst neu zu konfigurieren, indem die verschiedenen Speichergrenzwerte im System erkannt werden.

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

Ausnahmen

Die feste Grenze ist zu niedrig. Dies kann der Fall sein, wenn der heap hard-Grenzwert, den die Aktualisierung festgelegt, entweder aufgrund neuer AppData-Einstellungen oder impliziert durch änderungen des Containerspeicherlimits niedriger ist als das, was bereits committet wurde.

Oder

Der feste Grenzwert ist ungültig. Dies kann beispielsweise bei negativen Heap-Hartlimit-Prozentsätzen der Fall sein.

Hinweise

Zusätzlich zu den tatsächlichen Einstellungen für physischen Arbeitsspeicher und Containergrenzwert können diese Konfigurationseinstellungen überschrieben werden:

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

Anstatt die Umgebungsvariable (die nicht gelesen wird) zu aktualisieren, überschreiben diese diese Einstellungen mithilfe eines ulong-Werts in AppContext.

Sie können beispielsweise verwenden AppContext.SetData("GCHeapHardLimit", (ulong) 100 * 1024 * 1024) , um gcHeapHardLimit auf 100M zu überschreiben.

Diese API verarbeitet nur Konfigurationen, die verarbeitet werden können, wenn die Runtime geladen wird. Für Konfigurationen, die keine Auswirkungen auf 32-Bit-Systeme haben (z. B. GCHeapHardLimit*), wird dies von dieser API nicht verarbeitet.

Gilt für: