Événements de garbage collection du runtime .NET
Les événements décrits dans cet article collectent des informations relatives au garbage collection. Ils aident dans les diagnostics et le débogage, notamment à déterminer le nombre de fois où le garbage collection a été effectué, la quantité de mémoire libérée pendant le garbage collection, etc. Pour plus d’informations sur l’utilisation de ces événements à des fins de diagnostic, consultez journalisation et suivi des applications .NET.
événement GCStart_V2
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCStart_V1 |
1 | Un garbage collection a démarré. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
Count |
win:UInt32 |
Le nième garbage collection. |
Depth |
win:UInt32 |
Génération en cours de collecte. |
Reason |
win:UInt32 |
Pourquoi le garbage collection a été déclenché :0x0 - Allocation de tas d’objets de petite taille.0x1 - induit.0x2 - Mémoire faible.0x3 - Vide.0x4 - Allocation de tas d’objets volumineux.0x5 - Espace insuffisant (pour le tas d’objets de petite taille).0x6 - Espace insuffisant (pour le tas d’objets volumineux).0x7 - induit mais pas forcé comme bloquant. |
Type |
win:UInt32 |
0x0 : le blocage du garbage collection s’est produit en dehors du garbage collection en arrière-plan.0x1 - Garbage collection en arrière-plan.0x2 : le blocage du garbage collection s’est produit pendant le garbage collection en arrière-plan. |
ClrInstanceID |
win :UInt16 | ID unique pour l’instance de CoreCLR. |
événement GCEnd_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCEnd_V1 |
2 | Le garbage collection a pris fin. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
Count |
win:UInt32 |
Le nième garbage collection. |
Depth |
win:UInt32 |
Génération qui a été collectée. |
ClrInstanceID |
win :UInt16 | ID unique pour l’instance de CoreCLR. |
événement GCHeapStats_V2
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Description |
---|---|---|
GCHeapStats_V2 |
4 | Affiche les statistiques de tas à la fin de chaque garbage collection. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
GenerationSize0 |
win:UInt64 |
Taille, en octets, de la mémoire de génération 0. |
TotalPromotedSize0 |
win:UInt64 |
Nombre d’octets promus de la génération 0 à la génération 1. |
GenerationSize1 |
win:UInt64 |
Taille, en octets, de la mémoire de génération 1. |
TotalPromotedSize1 |
win:UInt64 |
Nombre d’octets promus de la génération 1 à la génération 2. |
GenerationSize2 |
win:UInt64 |
Taille, en octets, de la mémoire de génération 2. |
TotalPromotedSize2 |
win:UInt64 |
Nombre d’octets qui ont survécu à la génération 2 après la dernière collection. |
GenerationSize3 |
win:UInt64 |
Taille, en octets, du tas d’objets volumineux. |
TotalPromotedSize3 |
win:UInt64 |
Nombre d’octets qui ont survécu dans le tas d’objets volumineux après la dernière collection. |
FinalizationPromotedSize |
win:UInt64 |
Taille totale, en octets, des objets prêts à être finalisés. |
FinalizationPromotedCount |
win:UInt64 |
Nombre d’objets prêts à être finalisés. |
PinnedObjectCount |
win:UInt32 |
Nombre d’objets épinglés (inmovables). |
SinkBlockCount |
win:UInt32 |
Nombre de blocs de synchronisation en cours d’utilisation. |
GCHandleCount |
win:UInt32 |
Nombre de handles de garbage collection en cours d’utilisation. |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |
GenerationSize4 |
win:UInt64 |
Taille, en octets, du tas d’objets épinglés. |
TotalPromotedSize4 |
win:UInt64 |
Nombre d’octets qui ont survécu dans le tas d’objets épinglés après la dernière collection. |
événement GCCreateSegment_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCCreateSegment_V1 |
5 | Un nouveau segment de garbage collection a été créé. En outre, lorsque le suivi est activé sur un processus déjà en cours d’exécution, cet événement est déclenché pour chaque segment existant. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
Address |
win:UInt64 |
Adresse du segment. |
Size |
win:UInt64 |
Taille du segment. |
Type |
win:UInt32 |
0x0 - Tas d’objets de petite taille. 0x1 - Tas d’objets volumineux. 0x2 - Tas en lecture seule. |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |
Notez que la taille des segments alloués par le garbage collector est spécifique à l’implémentation et est susceptible de changer à tout moment, y compris dans les mises à jour périodiques. Votre application ne doit jamais faire d’hypothèses concernant ou dépendre d’une taille de segment particulière, ni tenter de configurer la quantité de mémoire disponible pour les allocations de segments.
événement GCFreeSegment_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCFreeSegment_V1 |
6 | Un segment de garbage collection a été libéré. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
Address |
win:UInt64 |
Adresse du segment. |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |
événement GCRestartEEBegin_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCRestartEEBegin_V1 |
7 | La reprise de la suspension du Common Language Runtime a commencé. |
Cet événement n’a pas de données d’événement.
événement GCRestartEEEnd_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCRestartEEEnd_V1 |
3 | La reprise de la suspension du Common Language Runtime a pris fin. |
Cet événement n’a pas de données d’événement.
événement GCSuspendEEEnd_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCSuspendEEEnd_V1 |
8 | Fin de la suspension du moteur d’exécution pour le garbage collection. |
Cet événement n’a pas de données d’événement.
événement GCSuspendEEBegin_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCSuspendEEBegin_V1 |
9 | Début de la suspension du moteur d’exécution pour le garbage collection. |
Nom du champ | Type de données | Description |
---|---|---|
Count |
win:UInt32 |
Le nième garbage collection. |
Reason |
win:UInt32 |
Motif de suspension de l’EE.0x0 : Suspendre pour d’autres0x1 : Suspendre pour GC.0x2 : suspendre l’arrêt AppDomain.0x3 : Suspendre pour le pitching de code.0x4 : suspendre l’arrêt.0x5 : Suspendre pour le débogueur.0x6 : Suspendre pour la préparation gc.0x7 : Suspendre le balayage du débogueur |
événement GCAllocationTick_V3
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Détaillé (5) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCAllocationTick_V3 |
10 | Chaque fois qu’environ 100 Ko sont alloués. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
AllocationAmount |
win:UInt32 |
Taille d’allocation, en octets. Cette valeur est précise pour les allocations inférieures à la longueur d’un ULONG (4 294 967 295 octets). Si l’allocation est supérieure, ce champ contient une valeur tronquée. Utilisez AllocationAmount64 pour des allocations très volumineuses. |
AllocationKind |
win:UInt32 |
0x0 - Allocation de petits objets (l’allocation se trouve dans le tas de petits objets).0x1 - Allocation d’objets volumineux (l’allocation se trouve dans le tas d’objets volumineux). |
AllocationAmount64 |
win:UInt64 |
Taille d’allocation, en octets. Cette valeur est précise pour les allocations très volumineuses. |
TypeId |
win:Pointer |
Adresse de MethodTable. Lorsqu’il existe plusieurs types d’objets qui ont été alloués pendant cet événement, il s’agit de l’adresse de MethodTable qui correspond au dernier objet alloué (l’objet qui a provoqué le dépassement du seuil de 100 Ko). |
TypeName |
win:UnicodeString |
Nom du type qui a été alloué. Lorsqu’il existe plusieurs types d’objets qui ont été alloués pendant cet événement, il s’agit du type du dernier objet alloué (l’objet qui a provoqué le dépassement du seuil de 100 Ko). |
HeapIndex |
win:UInt32 |
Tas où l’objet a été alloué. Cette valeur est 0 (zéro) lors de l’exécution avec le garbage collection de station de travail. |
Address |
win:Pointer |
Adresse du dernier objet alloué. |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |
événement GCCreateConcurrentThread_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
ThreadingKeyword (0x10000) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | Le thread de garbage collection simultané a été créé. |
Cet événement n’a pas de données d’événement.
événement GCTerminateConcurrentThread_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
ThreadingKeyword (0x10000) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | Le thread de garbage collection simultané a été arrêté. |
Cet événement n’a pas de données d’événement.
événement GCFinalizersBegin_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCFinalizersBegin_V1 |
14 | Début de l’exécution des finaliseurs. |
Cet événement n’a pas de données d’événement.
événement GCFinalizersEnd_V1
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCFinalizersEnd_V1 |
13 | Fin des finaliseurs en cours d’exécution. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
Count |
win:UInt32 |
Nombre de finaliseurs exécutés. |
ClrInstanceID |
win :UInt16 | ID unique pour l’instance de CLR ou CoreCLR. |
Événement SetGCHandle
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCHandleKeyword (0x2) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
SetGCHandle |
30 | Un handle GC a été défini. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
HandleID |
win:Pointer |
Adresse du handle alloué. |
ObjectID |
win:Pointer |
Adresse de l’objet dont le handle a été créé. |
Kind |
win:UInt32 |
Type de handle GC défini. 0x0 : WeakShort 0x1 : WeakLong 0x2 : Fort 0x3 : épinglé 0x4 : variable0x5 : RefCounted 0x6 : dépendant0x7 : AsyncPinned0x8 : SizedRef |
Generation |
win:UInt32 |
Génération de l’objet dont le handle a été créé. |
AppDomainID |
win:UInt64 |
ID AppDomain. |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |
DestroyGCHandle, événement
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCHandleKeyword (0x2) |
Information (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
DestroyGCHandle |
31 | Un handle GC est détruit. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
HandleID |
win:Pointer |
Adresse de la poignée détruite. |
ClrInstanceID |
win :UInt16 | ID unique pour l’instance de CoreCLR. |
Événement PinObjectAtGCTime
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Détaillé (5) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
PinObjectAtGCTime |
33 | Un objet a été épinglé pendant un GC. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
HandleID |
win:Pointer |
Adresse du handle. |
ObjectID |
win:Pointer |
Adresse de l’objet épinglé. |
ObjectSize |
win:UInt64 |
Taille de l’objet épinglé. |
TypeName |
win:UnicodeString |
Nom du type de l’objet épinglé. |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |
Événement GCTriggered
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Détaillé (5) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCTriggered |
35 | Un GC a été déclenché. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
Reason |
win:UInt32 |
Raison pour laquelle un GC a été déclenché.0x0 : AllocSmall0x1 : induit 0x2 : LowMemory 0x3 : vide 0x4 : AllocLarge 0x5 : OutOfSpaceSmallObjectHeap 0x6 : OutOfSpaceLargeObjectHeap 0x7 :InducedNoForce 0x8 : Stress 0x9 : InducedLowMemory |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |
Événement IncreaseMemoryPressure
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Informations (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
IncreaseMemoryPressure |
200 | La pression de la mémoire a été augmentée. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
ClrInstanceID |
win :UInt16 | ID unique pour l’instance de CoreCLR. |
Événement DecreaseMemoryPressure
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Informations (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
DecreaseMemoryPressure |
201 | La pression de la mémoire a été réduite. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
BytesFreed |
win:UInt32 |
Octets libérés. |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |
Événement GCMarkWithType
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Informations (4) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCMarkWithType |
202 | Une racine GC a été marquée pendant la phase de marque GC. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
HeapNum |
win:UInt32 |
Numéro de tas. |
ClrInstanceID |
win :UInt16 | ID unique pour l’instance de CoreCLR. |
Type |
win:UInt32 |
Type racine GC.0x0 : Pile0x1 : Finaliseur0x2 : Handle0x3 : plus ancien0x4 : SizedRef0x5 : Overflow |
Bytes |
win:UInt64 |
Nombre d’octets marqués. |
événement GCJoin_V2
Le tableau suivant présente le mot clé et le niveau :
Mot clé pour déclencher l’événement | Niveau |
---|---|
GCKeyword (0x1) |
Détaillé (5) |
Le tableau suivant présente les informations d’événement :
Événement | ID d’événement | Déclenché quand |
---|---|---|
GCJoin_V2 |
203 | Un thread GC joint. |
Le tableau suivant présente les données d’événement :
Nom du champ | Type de données | Description |
---|---|---|
Heap |
win:UInt32 |
Numéro de tas |
JoinTime |
win:UInt32 |
Indique si cet événement est déclenché au début d’une jointure ou de la fin d’une jointure (0x0 pour le début de la jointure, 0x1 pour la fin de la jointure) |
JoinType |
win:UInt32 |
Type de jointure. 0x0 : Dernière jointure0x1 : Joindre 0x2 : Redémarrer 0x3 : Première jointure inversée0x4 : jointure inversée |
ClrInstanceID |
win:UInt16 |
ID unique pour l’instance de CoreCLR. |