Partager via


GC.AddMemoryPressure(Int64) Méthode

Définition

Informe l'exécution d'une allocation volumineuse de mémoire non managée qui doit être prise en considération lors de la planification du garbage collection.

public:
 static void AddMemoryPressure(long bytesAllocated);
[System.Security.SecurityCritical]
public static void AddMemoryPressure (long bytesAllocated);
public static void AddMemoryPressure (long bytesAllocated);
[<System.Security.SecurityCritical>]
static member AddMemoryPressure : int64 -> unit
static member AddMemoryPressure : int64 -> unit
Public Shared Sub AddMemoryPressure (bytesAllocated As Long)

Paramètres

bytesAllocated
Int64

Quantité incrémentielle de mémoire non managée qui a été allouée.

Attributs

Exceptions

bytesAllocated est inférieur ou égal à 0.

- ou -

Sur un ordinateur 32 bits, bytesAllocated est plus grand que Int32.MaxValue.

Remarques

Pour déterminer quand planifier le garbage collection, le runtime prend en compte la quantité de mémoire managée allouée. Si un petit objet managé alloue une grande quantité de mémoire non managée, le runtime prend uniquement en compte la mémoire managée et sous-estime donc l’urgence de la planification du garbage collection. La AddMemoryPressure méthode informe le runtime de cette pression supplémentaire sur la mémoire système.

Les AddMemoryPressure méthodes et RemoveMemoryPressure améliorent les performances uniquement pour les types qui dépendent exclusivement des finaliseurs pour libérer les ressources non managées. Il n’est pas nécessaire d’utiliser ces méthodes dans les types qui suivent le modèle de suppression, où les finaliseurs sont utilisés pour propre des ressources non managées uniquement dans le cas où un consommateur du type oublie d’appeler Dispose. Pour plus d’informations sur la finalisation des objets et le modèle de suppression, consultez Nettoyage des ressources non managées.

Dans le modèle d’utilisation le plus simple, un objet managé alloue de la mémoire non managée dans le constructeur et la libère dans la Finalize méthode. Appelez la AddMemoryPressure méthode après avoir alloué la mémoire non managée, puis appelez la RemoveMemoryPressure méthode après l’avoir relâchée.

Dans les scénarios plus complexes, où l’allocation de mémoire non managée change considérablement pendant la durée de vie de l’objet managé, vous pouvez appeler les AddMemoryPressure méthodes et RemoveMemoryPressure pour communiquer ces modifications incrémentielles au runtime.

Attention

Vous devez vous assurer que vous supprimez exactement la quantité de pression que vous ajoutez. Le fait de ne pas le faire peut nuire aux performances du système dans les applications qui s’exécutent pendant de longues périodes.

S’applique à