GC.RefreshMemoryLimit Metodo

Definizione

Indica al Garbage Collector di riconfigurarsi rilevando i vari limiti di memoria nel sistema.

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

Eccezioni

Il limite rigido è troppo basso. Ciò può verificarsi se il limite rigido dell'heap impostato dall'aggiornamento, a causa di nuove impostazioni AppData o implicite nelle modifiche al limite di memoria del contenitore, è inferiore a quello già eseguito.

oppure

Il limite rigido non è valido. Ciò può verificarsi, ad esempio, con percentuali di limite rigido dell'heap negativo.

Commenti

Oltre alle impostazioni effettive del limite di memoria fisica e del limite di contenitori, queste impostazioni di configurazione possono essere sovrascritte:

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

Anziché aggiornare la variabile di ambiente (che non verrà letta), queste impostazioni sostituiscono queste impostazioni usando un valore ulong in AppContext.

Ad esempio, è possibile usare AppContext.SetData("GCHeapHardLimit", (ulong) 100 * 1024 * 1024) per eseguire l'override di GCHeapHardLimit su 100M.

Questa API gestisce solo le configurazioni che possono essere gestite quando viene caricato il runtime. Per le configurazioni che non hanno alcun effetto sui sistemi a 32 bit (come quelli GCHeapHardLimit*), questa API non la gestirà.

Si applica a