Condividi tramite


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 altri

0x1: 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:Variabile

0x5: RefCounted

0x6:Dipendente

0x7: AsyncPinned

0x8: 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: AllocSmall

0x1: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:Pila

0x1:Finalizzatore

0x2:Gestire

0x3:Più vecchio

0x4: SizedRef

0x5: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 join

0x1:Unirsi

0x2:Riavviare

0x3: primo join inverso

0x4: join inverso

ClrInstanceID win:UInt16 ID univoco per l'istanza di CoreCLR.