GC.RefreshMemoryLimit Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.