GC.TryStartNoGCRegion 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.
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique.
Surcharges
| Nom | Description |
|---|---|
| TryStartNoGCRegion(Int64, Int64, Boolean) |
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique si une quantité de mémoire spécifiée est disponible pour le tas d’objets volumineux et le tas d’objets de petite taille, et contrôle si le garbage collector effectue un garbage collection bloquant complet s’il n’y a pas suffisamment de mémoire initialement disponible. |
| TryStartNoGCRegion(Int64, Int64) |
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique si une quantité de mémoire spécifiée est disponible pour le tas d’objets volumineux et le tas d’objets de petite taille. |
| TryStartNoGCRegion(Int64, Boolean) |
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique si une quantité de mémoire spécifiée est disponible et contrôle si le garbage collector effectue un nettoyage complet du garbage collection s’il n’y a pas suffisamment de mémoire initialement disponible. |
| TryStartNoGCRegion(Int64) |
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique si une quantité de mémoire spécifiée est disponible. |
Remarques
Important
Vous ne pouvez pas imbriquer les appels à la méthode TryStartNoGCRegion, et vous devez uniquement appeler la méthode EndNoGCRegion si l'environnement d'exécution est actuellement en mode de latence sans GC. En d’autres termes, vous ne devez pas appeler TryStartNoGCRegion plusieurs fois (après le premier appel, les appels suivants ne réussiront pas), et vous ne devez pas vous attendre à ce que les appels à EndNoGCRegion réussissent simplement parce que le premier appel à TryStartNoGCRegion a réussi.
TryStartNoGCRegion(Int64, Int64, Boolean)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique si une quantité de mémoire spécifiée est disponible pour le tas d’objets volumineux et le tas d’objets de petite taille, et contrôle si le garbage collector effectue un garbage collection bloquant complet s’il n’y a pas suffisamment de mémoire initialement disponible.
public:
static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
public static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
static member TryStartNoGCRegion : int64 * int64 * bool -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * int64 * bool -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, lohSize As Long, disallowFullBlockingGC As Boolean) As Boolean
Paramètres
- totalSize
- Int64
Quantité de mémoire en octets à allouer sans déclencher de garbage collection.
totalSize
-
lohSize doit être inférieur ou égal à la taille d’un segment éphémère. Pour plus d’informations sur la taille d’un segment éphémère, consultez la section « Générations et segments éphémères » dans l’article Principes de base du garbage collection .
- lohSize
- Int64
Nombre d’octets à totalSize utiliser pour les allocations de tas d’objets volumineux (LOH).
- disallowFullBlockingGC
- Boolean
true pour omettre un garbage collection de blocage complet si le garbage collector est initialement incapable d’allouer la mémoire spécifiée sur le tas de petits objets (SOH) et LOH ; sinon, false.
Retours
true si le runtime a pu valider la quantité de mémoire requise et que le garbage collector est en mesure d’entrer aucun mode de latence de région GC ; sinon, false.
- Attributs
Exceptions
totalSize
-
lohSize dépasse la taille du segment éphémère.
Le processus est déjà en mode de latence de région GC.
Remarques
La TryStartNoGCRegion(Int64, Int64, Boolean) méthode tente de placer le garbage collector en mode de latence de région GC, ce qui interdit le garbage collection pendant qu’une application exécute une région critique de code. Si le runtime ne parvient pas à allouer initialement la quantité de mémoire demandée et que l’argument disallowFullBlockingGC est false, le garbage collector effectue un garbage collection bloquant complet dans une tentative de libérer de la mémoire supplémentaire ; sinon, l’allocation échoue et la méthode retourne false. Le garbage collector n’entre pas en mode de latence de région GC s’il est en mesure d’allouer lohSize pour le LOH et totalSize - lohSize pour le tas de petits objets (SOH).
lohSize doit être suffisamment volumineux pour gérer toutes les allocations de mémoire qui se produisent dans le chemin critique du LOH, et totalSize - lohSize doit être suffisamment grande pour gérer toutes les allocations de mémoire qui se produisent dans le chemin critique du SOH. Cela inclut les allocations par l’application, ainsi que les allocations effectuées par le runtime au nom de l’application.
Le paramètre disallowFullBlockingGC permettant true d’empêcher un garbage collection de blocage complet s’il n’y a pas suffisamment de mémoire est initialement disponible dans les scénarios d’équilibrage de charge : un système peut appeler cette méthode et se signaler comme prêt à accepter les demandes si elle retourne true, et avoir les demandes de redirection de l’équilibreur de charge vers d’autres systèmes si elle retourne false. Il peut ensuite effectuer un garbage collection bloquant complet lorsqu’il ne gère pas les requêtes en appelant la Collect(Int32, GCCollectionMode, Boolean, Boolean) méthode.
Important
Vous ne pouvez pas imbriquer les appels à la méthode TryStartNoGCRegion, et vous devez uniquement appeler la méthode EndNoGCRegion si l'environnement d'exécution est actuellement en mode de latence sans GC. En d’autres termes, vous ne devez pas appeler TryStartNoGCRegion plusieurs fois (après le premier appel, les appels suivants ne réussiront pas), et vous ne devez pas vous attendre à ce que les appels à EndNoGCRegion réussissent simplement parce que le premier appel à TryStartNoGCRegion a réussi.
Vous quittez le mode de latence de la région GC en appelant la EndNoGCRegion méthode.
Voir aussi
S’applique à
TryStartNoGCRegion(Int64, Int64)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique si une quantité de mémoire spécifiée est disponible pour le tas d’objets volumineux et le tas d’objets de petite taille.
public:
static bool TryStartNoGCRegion(long totalSize, long lohSize);
public static bool TryStartNoGCRegion(long totalSize, long lohSize);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, long lohSize);
static member TryStartNoGCRegion : int64 * int64 -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * int64 -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, lohSize As Long) As Boolean
Paramètres
- totalSize
- Int64
Quantité de mémoire en octets à allouer sans déclencher de garbage collection.
totalSize
-
lohSize doit être inférieur ou égal à la taille d’un segment éphémère. Pour plus d’informations sur la taille d’un segment éphémère, consultez la section « Générations et segments éphémères » dans l’article Principes de base du garbage collection .
- lohSize
- Int64
Nombre d’octets à totalSize utiliser pour les allocations de tas d’objets volumineux (LOH).
Retours
true si le runtime a pu valider la quantité de mémoire requise et que le garbage collector est en mesure d’entrer aucun mode de latence de région GC ; sinon, false.
- Attributs
Exceptions
totalSize
-
lohSize dépasse la taille du segment éphémère.
Le processus est déjà en mode de latence de région GC.
Remarques
La TryStartNoGCRegion(Int64, Int64) méthode tente de placer le garbage collector en mode de latence de région GC, ce qui interdit le garbage collection pendant qu’une application exécute une région critique de code. Si le runtime ne parvient pas à allouer initialement la quantité de mémoire demandée, le garbage collector effectue un garbage collection de blocage complet dans une tentative de libérer de la mémoire supplémentaire. Le garbage collector n’entre pas en mode de latence de région GC s’il est en mesure d’allouer lohSize pour le LOH et totalSize - lohSize pour le tas de petits objets (SOH).
lohSize doit être suffisamment volumineux pour gérer toutes les allocations de mémoire qui se produisent dans le chemin critique du LOH, et totalSize - lohSize doit être suffisamment grande pour gérer toutes les allocations de mémoire qui se produisent dans le chemin critique du SOH. Cela inclut les allocations par l’application, ainsi que les allocations effectuées par le runtime au nom de l’application.
Important
Vous ne pouvez pas imbriquer les appels à la méthode TryStartNoGCRegion, et vous devez uniquement appeler la méthode EndNoGCRegion si l'environnement d'exécution est actuellement en mode de latence sans GC. En d’autres termes, vous ne devez pas appeler TryStartNoGCRegion plusieurs fois (après le premier appel, les appels suivants ne réussiront pas), et vous ne devez pas vous attendre à ce que les appels à EndNoGCRegion réussissent simplement parce que le premier appel à TryStartNoGCRegion a réussi.
Vous quittez le mode de latence de la région GC en appelant la EndNoGCRegion méthode.
Voir aussi
S’applique à
TryStartNoGCRegion(Int64, Boolean)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique si une quantité de mémoire spécifiée est disponible et contrôle si le garbage collector effectue un nettoyage complet du garbage collection s’il n’y a pas suffisamment de mémoire initialement disponible.
public:
static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
public static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
static member TryStartNoGCRegion : int64 * bool -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * bool -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, disallowFullBlockingGC As Boolean) As Boolean
Paramètres
- totalSize
- Int64
Quantité de mémoire en octets à allouer sans déclencher de garbage collection. Elle doit être inférieure ou égale à la taille d’un segment éphémère. Pour plus d’informations sur la taille d’un segment éphémère, consultez la section « Générations et segments éphémères » dans l’article Principes de base du garbage collection .
- disallowFullBlockingGC
- Boolean
true pour omettre un garbage collection de blocage complet si le garbage collector est initialement incapable d’allouer des totalSize octets ; sinon, false.
Retours
true si le runtime a pu valider la quantité de mémoire requise et que le garbage collector est en mesure d’entrer aucun mode de latence de région GC ; sinon, false.
- Attributs
Exceptions
totalSize dépasse la taille du segment éphémère.
Le processus est déjà en mode de latence de région GC.
Remarques
La TryStartNoGCRegion(Int64, Boolean) méthode tente de placer le garbage collector en mode de latence de région GC, ce qui interdit le garbage collection pendant qu’une application exécute une région critique de code. Si le runtime ne parvient pas à allouer initialement la quantité de mémoire demandée et que l’argument disallowFullBlockingGC est false, le garbage collector effectue un garbage collection bloquant complet dans une tentative de libérer de la mémoire supplémentaire ; sinon, l’allocation échoue et la méthode retourne false. Le garbage collector n’entre pas en mode de latence de région GC s’il est en mesure d’allouer la quantité de mémoire requise, ce qui, dans ce cas, est en fait 2 * totalSize (il tente d’allouer totalSize pour le tas de petits objets et totalSize pour le tas d’objets volumineux).
totalSize doit être suffisamment volumineux pour gérer toutes les allocations de mémoire qui se produisent dans le chemin critique. Cela inclut les allocations par l’application, ainsi que les allocations effectuées par le runtime au nom de l’application.
Le paramètre disallowFullBlockingGC permettant true d’empêcher un garbage collection de blocage complet s’il n’y a pas suffisamment de mémoire est initialement disponible dans les scénarios d’équilibrage de charge : un système peut appeler cette méthode et se signaler comme prêt à accepter les demandes si elle retourne true, et avoir les demandes de redirection de l’équilibreur de charge vers d’autres systèmes si elle retourne false. Il peut ensuite effectuer un garbage collection bloquant complet lorsqu’il ne gère pas les requêtes en appelant la Collect(Int32, GCCollectionMode, Boolean, Boolean) méthode.
Important
Vous ne pouvez pas imbriquer les appels à la méthode TryStartNoGCRegion, et vous devez uniquement appeler la méthode EndNoGCRegion si l'environnement d'exécution est actuellement en mode de latence sans GC. En d’autres termes, vous ne devez pas appeler TryStartNoGCRegion plusieurs fois (après le premier appel, les appels suivants ne réussiront pas), et vous ne devez pas vous attendre à ce que les appels à EndNoGCRegion réussissent simplement parce que le premier appel à TryStartNoGCRegion a réussi.
Vous quittez le mode de latence de la région GC en appelant la EndNoGCRegion méthode.
Voir aussi
S’applique à
TryStartNoGCRegion(Int64)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
Tente de interdire le garbage collection pendant l’exécution d’un chemin critique si une quantité de mémoire spécifiée est disponible.
public:
static bool TryStartNoGCRegion(long totalSize);
public static bool TryStartNoGCRegion(long totalSize);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize);
static member TryStartNoGCRegion : int64 -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long) As Boolean
Paramètres
- totalSize
- Int64
Quantité de mémoire en octets à allouer sans déclencher de garbage collection. Elle doit être inférieure ou égale à la taille d’un segment éphémère. Pour plus d’informations sur la taille d’un segment éphémère, consultez la section « Générations et segments éphémères » dans l’article Principes de base du garbage collection .
Retours
true si le runtime a pu valider la quantité de mémoire requise et que le garbage collector est en mesure d’entrer aucun mode de latence de région GC ; sinon, false.
- Attributs
Exceptions
totalSize dépasse la taille du segment éphémère.
Le processus est déjà en mode de latence de région GC.
Remarques
La TryStartNoGCRegion(Int64) méthode tente de placer le garbage collector en mode de latence de région GC, ce qui interdit le garbage collection pendant qu’une application exécute une région critique de code. Si le runtime ne parvient pas à allouer initialement la quantité de mémoire demandée, le garbage collector effectue un garbage collection de blocage complet dans une tentative de libérer de la mémoire supplémentaire. Le garbage collector n’entre pas en mode de latence de région GC s’il est en mesure d’allouer la quantité de mémoire requise, ce qui, dans ce cas, est en fait de 2 * totalSize octets (il tente d’allouer totalSize des octets pour le segment de mémoire et totalSize les octets pour le tas d’objets volumineux).
totalSize doit être suffisamment volumineux pour gérer toutes les allocations de mémoire qui se produisent dans le chemin critique. Cela inclut les allocations par l’application, ainsi que les allocations effectuées par le runtime au nom de l’application.
Important
Vous ne pouvez pas imbriquer les appels à la méthode TryStartNoGCRegion, et vous devez uniquement appeler la méthode EndNoGCRegion si l'environnement d'exécution est actuellement en mode de latence sans GC. En d’autres termes, vous ne devez pas appeler TryStartNoGCRegion plusieurs fois (après le premier appel, les appels suivants ne réussiront pas), et vous ne devez pas vous attendre à ce que les appels à EndNoGCRegion réussissent simplement parce que le premier appel à TryStartNoGCRegion a réussi.
Vous quittez le mode de latence de la région GC en appelant la EndNoGCRegion méthode.