GC.RefreshMemoryLimit Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Demande au Garbage Collector de se reconfigurer en détectant les différentes limites de mémoire sur le système.
public:
static void RefreshMemoryLimit();
public static void RefreshMemoryLimit ();
static member RefreshMemoryLimit : unit -> unit
Public Shared Sub RefreshMemoryLimit ()
Exceptions
La limite matérielle est trop faible. Cela peut se produire si la limite matérielle du tas définie par l’actualisation, soit en raison de nouveaux paramètres AppData, soit en raison des modifications apportées à la limite de mémoire du conteneur, est inférieure à ce qui est déjà engagé.
-ou-
La limite matérielle n’est pas valide. Cela peut se produire, par exemple, avec des pourcentages de limite de tas négatifs.
Remarques
Outre la limite de mémoire physique réelle et les paramètres de limite de conteneur, ces paramètres de configuration peuvent être remplacés :
- GCHeapHardLimit
- GCHeapHardLimitPercent
- GCHeapHardLimitSOH
- GCHeapHardLimitLOH
- GCHeapHardLimitPOH
- GCHeapHardLimitSOHPercent
- GCHeapHardLimitLOHPercent
- GCHeapHardLimitPOHPercent
Au lieu de mettre à jour la variable d’environnement (qui ne sera pas lue), ils remplacent ces paramètres à l’aide d’une valeur ulong dans l’AppContext.
Par exemple, vous pouvez utiliser AppContext.SetData("GCHeapHardLimit", (ulong) 100 * 1024 * 1024)
pour remplacer le GCHeapHardLimit par 100M.
Cette API gère uniquement les configurations qui peuvent être gérées lorsque le runtime est chargé. Pour les configurations qui n’ont aucun effet sur les systèmes 32 bits (comme ceux gcHeapHardLimit*), cette API ne les gère pas.