Eventi di Garbage Collection di runtime .NET
Gli eventi descritti in questo articolo raccolgono informazioni relative a Garbage Collection. Sono utili per la diagnostica e il debug, tra cui la determinazione del numero di volte in cui è stata eseguita l'operazione di Garbage Collection, la quantità di memoria liberata durante la Garbage Collection e così via. Per altre informazioni su come usare questi eventi a scopo di diagnostica, vedere Registrazione e traccia delle applicazioni .NET
evento GCStart_V2
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCStart_V1 |
1 | È stata avviata una procedura di Garbage Collection. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
Count |
win:UInt32 |
L' ennesimaGarbage Collection. |
Depth |
win:UInt32 |
La generazione che viene raccolta. |
Reason |
win:UInt32 |
Motivo per cui è stata attivata la Garbage Collection:0x0 - Allocazione dell'heap di oggetti di piccole dimensioni.0x1 -Indotto.0x2 - Memoria insufficiente.0x3 -Vuoto.0x4 - Allocazione dell'heap di oggetti di grandi dimensioni.0x5 - Spazio insufficiente (per l'heap di oggetti di piccole dimensioni).0x6 - Spazio insufficiente (per l'heap di oggetti di grandi dimensioni).0x7 - Indotto ma non forzato come blocco. |
Type |
win:UInt32 |
0x0 - Il blocco della Garbage Collection si è verificato all'esterno di Garbage Collection in background.0x1 - Garbage Collection in background.0x2 - Il blocco della Garbage Collection si è verificato durante l'operazione di Garbage Collection in background. |
ClrInstanceID |
win:UInt16 | ID univoco per l'istanza di CoreCLR. |
GCEnd_V1 Event
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCEnd_V1 |
2 | È stata terminata una procedura di Garbage Collection. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
Count |
win:UInt32 |
L' ennesimaGarbage Collection. |
Depth |
win:UInt32 |
La generazione che è stata raccolta. |
ClrInstanceID |
win:UInt16 | ID univoco per l'istanza di CoreCLR. |
evento GCHeapStats_V2
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Descrizione |
---|---|---|
GCHeapStats_V2 |
4 | Mostra le statistiche heap alla fine di ogni Garbage Collection. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
GenerationSize0 |
win:UInt64 |
Dimensione, in byte, della memoria della generazione 0. |
TotalPromotedSize0 |
win:UInt64 |
Numero di byte promossi dalla generazione 0 alla generazione 1. |
GenerationSize1 |
win:UInt64 |
Dimensione, in byte, della memoria di generazione 1. |
TotalPromotedSize1 |
win:UInt64 |
Numero di byte promossi dalla generazione 1 alla generazione 2. |
GenerationSize2 |
win:UInt64 |
Dimensione, in byte, della memoria della generazione 2. |
TotalPromotedSize2 |
win:UInt64 |
Numero di byte rimasti nella generazione 2 dopo l'ultima raccolta. |
GenerationSize3 |
win:UInt64 |
Dimensione, in byte, dell'heap oggetto grande. |
TotalPromotedSize3 |
win:UInt64 |
Numero di byte rimasti nell'heap oggetto grande dopo l'ultima raccolta. |
FinalizationPromotedSize |
win:UInt64 |
Dimensione totale, in byte, degli oggetti pronti per la finalizzazione. |
FinalizationPromotedCount |
win:UInt64 |
Numero di oggetti pronti per la finalizzazione. |
PinnedObjectCount |
win:UInt32 |
Numero di oggetti bloccati (fissi). |
SinkBlockCount |
win:UInt32 |
Numero di blocchi di sincronizzazione in uso. |
GCHandleCount |
win:UInt32 |
Numero di handle di Garbage Collection in uso. |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |
GenerationSize4 |
win:UInt64 |
Dimensione, in byte, dell'heap dell'oggetto aggiunto. |
TotalPromotedSize4 |
win:UInt64 |
Numero di byte sopravvissuti nell'heap dell'oggetto aggiunto dopo l'ultima raccolta. |
evento GCCreateSegment_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCCreateSegment_V1 |
5 | È stato creato un nuovo segmento di Garbage Collection. Inoltre, quando la traccia è attivata su un processo già in esecuzione, questo evento viene generato per ogni segmento esistente. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
Address |
win:UInt64 |
Indirizzo del segmento. |
Size |
win:UInt64 |
Dimensione del segmento. |
Type |
win:UInt32 |
0x0 - Heap oggetto piccolo. 0x1 - Heap oggetto grande. 0x2 - Heap di sola lettura. |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |
Si noti che la dimensione dei segmenti allocati dal Garbage Collector è specifico dell'implementazione ed è soggetta a modifiche in qualsiasi momento, tra cui aggiornamenti periodici. L'applicazione non deve dare per scontata o dipendere da una particolare dimensione del segmento, né provare a configurare la quantità di memoria disponibile per le allocazioni di segmenti.
evento GCFreeSegment_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCFreeSegment_V1 |
6 | È stato rilasciato un segmento di Garbage Collection. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
Address |
win:UInt64 |
Indirizzo del segmento. |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |
Evento GCRestart edizione Enterprise Begin_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCRestartEEBegin_V1 |
7 | Il ripristino dalla sospensione di Common Language Runtime è iniziato. |
Questo evento non dispone di dati dell'evento.
Evento GCRestart edizione Enterprise End_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCRestartEEEnd_V1 |
3 | Il ripristino dalla sospensione di Common Language Runtime è terminato. |
Questo evento non dispone di dati dell'evento.
Evento GCSuspend edizione Enterprise End_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCSuspendEEEnd_V1 |
8 | Fine della sospensione del motore di esecuzione di operazioni di Garbage Collection. |
Questo evento non dispone di dati dell'evento.
Evento GCSuspend edizione Enterprise Begin_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCSuspendEEBegin_V1 |
9 | Inizio della sospensione del motore di esecuzione di operazioni di Garbage Collection. |
Nome campo | Tipo di dati | Descrizione |
---|---|---|
Count |
win:UInt32 |
L' ennesimaGarbage Collection. |
Reason |
win:UInt32 |
Motivo della sospensione edizione Enterprise.0x0 : sospensione per altri0x1 : sospensione per GC.0x2 : sospensione per l'arresto di AppDomain.0x3 : sospensione per l'inclinazione del codice.0x4 : sospensione per l'arresto.0x5 : sospensione per il debugger.0x6 : sospensione per preparazione GC.0x7 : sospensione per lo sweep del debugger |
evento GCAllocationTick_V3
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Dettagliato (5) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCAllocationTick_V3 |
10 | Ogni volta vengono allocati circa 100 KB. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
AllocationAmount |
win:UInt32 |
Dimensione dell'allocazione, in byte. Questo valore è preciso per le allocazioni minori della lunghezza di un ULONG (4.294.967.295 byte). Se l'allocazione è maggiore, questo campo contiene un valore troncato. Usare AllocationAmount64 per le allocazioni di dimensioni molto grandi. |
AllocationKind |
win:UInt32 |
0x0 - Allocazione di oggetti di piccole dimensioni (allocazione in heap di oggetti di piccole dimensioni).0x1 - Allocazione di oggetti di grandi dimensioni (allocazione in heap oggetti di grandi dimensioni). |
AllocationAmount64 |
win:UInt64 |
Dimensione dell'allocazione, in byte. Questo valore è preciso per le allocazioni di dimensioni molto grandi. |
TypeId |
win:Pointer |
Indirizzo di MethodTable. Quando sono presenti diversi tipi di oggetti allocati durante questo evento, questo è l'indirizzo di MethodTable che corrisponde all'ultimo oggetto allocato (l'oggetto che ha causato il superamento della soglia di 100 KB). |
TypeName |
win:UnicodeString |
Nome del tipo che è stato allocato. Quando sono presenti diversi tipi di oggetti allocati durante questo evento, questo è il tipo dell'ultimo oggetto allocato (l'oggetto che ha causato il superamento della soglia di 100 KB). |
HeapIndex |
win:UInt32 |
Heap in cui l'oggetto è stato allocato. Questo valore è 0 (zero) durante l'esecuzione della procedura di Garbage Collection per workstation. |
Address |
win:Pointer |
Indirizzo dell'ultimo oggetto allocato. |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |
evento GCCreateConcurrentThread_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
ThreadingKeyword (0x10000) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | È stato creato il thread di Garbage Collection in modalità simultanea |
Questo evento non dispone di dati dell'evento.
evento GCTerminateConcurrentThread_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
ThreadingKeyword (0x10000) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | È stato terminato il thread di Garbage Collection in modalità simultanea. |
Questo evento non dispone di dati dell'evento.
evento GCFinalizersBegin_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCFinalizersBegin_V1 |
14 | Inizio dell'esecuzione dei finalizzatori. |
Questo evento non dispone di dati dell'evento.
evento GCFinalizersEnd_V1
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCFinalizersEnd_V1 |
13 | Fine dell'esecuzione dei finalizzatori. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
Count |
win:UInt32 |
Numero di finalizzatori eseguiti. |
ClrInstanceID |
win:UInt16 | ID univoco per l'istanza di CLR o CoreCLR. |
SetGCHandle, evento
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCHandleKeyword (0x2) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
SetGCHandle |
30 | È stato impostato un handle GC. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
HandleID |
win:Pointer |
Indirizzo dell'handle allocato. |
ObjectID |
win:Pointer |
Indirizzo dell'oggetto il cui handle è stato creato. |
Kind |
win:UInt32 |
Tipo di handle GC impostato. 0x0 : WeakShort 0x1 : WeakLong 0x2 :Forte 0x3 :Appuntato 0x4 :Variabile0x5 : RefCounted 0x6 :Dipendente0x7 : AsyncPinned0x8 : SizedRef |
Generation |
win:UInt32 |
Generazione dell'oggetto il cui handle è stato creato. |
AppDomainID |
win:UInt64 |
ID AppDomain. |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |
DestroyGCHandle, evento
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCHandleKeyword (0x2) |
Informativo (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
DestroyGCHandle |
31 | Un handle GC viene eliminato definitivamente. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
HandleID |
win:Pointer |
Indirizzo dell'handle eliminato. |
ClrInstanceID |
win:UInt16 | ID univoco per l'istanza di CoreCLR. |
PinObjectAtGCTime, evento
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Dettagliato (5) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
PinObjectAtGCTime |
33 | Un oggetto è stato aggiunto durante un GC. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
HandleID |
win:Pointer |
Indirizzo dell'handle. |
ObjectID |
win:Pointer |
Indirizzo dell'oggetto aggiunto. |
ObjectSize |
win:UInt64 |
Dimensione dell'oggetto aggiunto. |
TypeName |
win:UnicodeString |
Nome del tipo dell'oggetto aggiunto. |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |
Evento GCTriggered
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Dettagliato (5) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCTriggered |
35 | È stato attivato un GC. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
Reason |
win:UInt32 |
Motivo per cui è stato attivato un GC.0x0 : AllocSmall0x1 :Indotto 0x2 : LowMemory 0x3 :Vuoto 0x4 : AllocLarge 0x5 : OutOfSpaceSmallObjectHeap 0x6 : OutOfSpaceLargeObjectHeap 0x7 :InducedNoForce 0x8 :Stress 0x9 : InducedLowMemory |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |
Evento IncreaseMemoryPressure
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informazioni (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
IncreaseMemoryPressure |
200 | La pressione della memoria è stata aumentata. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
ClrInstanceID |
win:UInt16 | ID univoco per l'istanza di CoreCLR. |
Evento DecreaseMemoryPressure
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informazioni (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
DecreaseMemoryPressure |
201 | La pressione della memoria è stata ridotta. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
BytesFreed |
win:UInt32 |
Byte liberati. |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |
Evento GCMarkWithType
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Informazioni (4) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCMarkWithType |
202 | Una radice GC è stata contrassegnata durante la fase del contrassegno GC. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
HeapNum |
win:UInt32 |
Numero dell'heap. |
ClrInstanceID |
win:UInt16 | ID univoco per l'istanza di CoreCLR. |
Type |
win:UInt32 |
Tipo radice GC.0x0 :Pila0x1 :Finalizzatore0x2 :Gestire0x3 :Più vecchio0x4 : SizedRef0x5 :Overflow |
Bytes |
win:UInt64 |
Numero di byte contrassegnati. |
evento GCJoin_V2
La tabella seguente illustra la parola chiave e il livello:
Parola chiave per la generazione dell'evento | Level |
---|---|
GCKeyword (0x1) |
Dettagliato (5) |
La tabella seguente mostra le informazioni sull'evento:
Event | ID evento | Generato quando |
---|---|---|
GCJoin_V2 |
203 | Un thread GC unito. |
La tabella seguente mostra i dati dell'evento:
Nome campo | Tipo di dati | Descrizione |
---|---|---|
Heap |
win:UInt32 |
Numero dell'heap |
JoinTime |
win:UInt32 |
Indica se questo evento viene generato all'inizio di un join o alla fine di un join (0x0 per l'inizio del join, 0x1 per la fine del join) |
JoinType |
win:UInt32 |
Tipo di join. 0x0 : ultimo join0x1 :Unirsi 0x2 :Riavviare 0x3 : primo join inverso0x4 : join inverso |
ClrInstanceID |
win:UInt16 |
ID univoco per l'istanza di CoreCLR. |