GC.RefreshMemoryLimit Método

Definición

Indica al recolector de elementos no utilizados que vuelva a configurarse mediante la detección de los distintos límites de memoria en el sistema.

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

Excepciones

El límite máximo es demasiado bajo. Esto puede ocurrir si el límite máximo del montón que establecerá la actualización, ya sea debido a la nueva configuración de AppData o implícita por los cambios de límite de memoria del contenedor, es menor que lo que ya se ha confirmado.

O bien

El límite máximo no es válido. Esto puede ocurrir, por ejemplo, con porcentajes de límite máximo de montón negativos.

Comentarios

Además del límite real de memoria física y la configuración de límite de contenedor, estas opciones de configuración se pueden sobrescribir:

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

En lugar de actualizar la variable de entorno (que no se leerá), estas invalidan esta configuración mediante un valor de ulong en AppContext.

Por ejemplo, puede usar AppContext.SetData("GCHeapHardLimit", (ulong) 100 * 1024 * 1024) para invalidar GCHeapHardLimit a 100M.

Esta API solo controla las configuraciones que se pueden controlar cuando se carga el entorno de ejecución. En el caso de las configuraciones que no tienen ningún efecto en sistemas de 32 bits (como los de GCHeapHardLimit*), esta API no la controlará.

Se aplica a