Condividi tramite


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 delle nuove impostazioni AppData o implicite dalle 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 relative al limite di memoria fisica e al 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 eseguono l'override di 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 a 100M.

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

Si applica a