GC.RefreshMemoryLimit Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à.