Dela via


Skräpinsamling ETW-händelser

Dessa händelser samlar in information som rör skräpinsamling. De hjälper till med diagnostik och felsökning, inklusive att avgöra hur många gånger skräpinsamlingen utfördes, hur mycket minne som frigörs under skräpinsamlingen och så vidare.

Den här kategorin består av följande händelser:

GCStart_V1 händelse

I följande tabell visas nyckelordet och nivån. Mer information finns i CLR ETW-nyckelord och -nivåer.

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCStart_V1 1 En skräpinsamling har startats.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
Count win:UInt32 Den n:e skräpinsamlingen.
Djup win:UInt32 Den generation som samlas in.
Anledning win:UInt32 Därför utlöstes skräpinsamlingen:

0x0 – Heapallokering för små objekt.

0x1 - Inducerad.

0x2 – Lite minne.

0x3 - Tom.

0x4 – Stora objekt heap allokering.

0x5 – Slut på utrymme (för små objekthög).

0x6 – Slut på utrymme (för stora objekthögar).

0x7 - Inducerad men inte tvingad som blockering.

0x8 – Stresstestning.

0x9 – Finalizertråden observerade att processen är i lågt minne och inducerade en GC.

0x10 – Användarkod inducerade GC och begärde att den skulle vara en komprimerande GC.
Typ win:UInt32 0x0 – Det uppstod blockering av skräpinsamling utanför skräpinsamling i bakgrunden.

0x1 – Skräpinsamling i bakgrunden.

0x2 – Blockering av skräpinsamling inträffade under skräpinsamling i bakgrunden.
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.

GCEnd_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCEnd_V1 2 Skräpinsamlingen har avslutats.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
Count win:UInt32 Den n:e skräpinsamlingen.
Djup win:UInt32 Den generation som samlades in.
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.

GCHeapStats_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID beskrivning
GCHeapStats_V1 4 Visar heapstatistiken i slutet av varje skräpinsamling.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
GenerationSize0 win:UInt64 Storleken, i byte, på generering 0-minne.
TotalPromotedSize0 win:UInt64 Antalet byte som höjs från generation 0 till generation 1.
GenerationSize1 win:UInt64 Storleken, i byte, på generation 1-minne.
TotalPromotedSize1 win:UInt64 Antalet byte som höjs från generation 1 till generation 2.
GenerationSize2 win:UInt64 Storleken, i byte, på generation 2-minne.
TotalPromotedSize2 win:UInt64 Antalet byte som överlevde i generation 2 efter den senaste samlingen.
GenerationSize3 win:UInt64 Storleken, i byte, på den stora objekthögen.
TotalPromotedSize3 win:UInt64 Antalet byte som överlevde i den stora objekthögen efter den senaste samlingen.
FinalizationPromotedSize win:UInt64 Den totala storleken, i byte, på de objekt som är redo för slutförande.
FinalizationPromotedCount win:UInt64 Antalet objekt som är redo för slutförande.
PinnedObjectCount win:UInt32 Antalet fästa (oflyttbara) objekt.
SinkBlockCount win:UInt32 Antalet synkroniseringsblock som används.
GCHandleCount win:UInt32 Antalet skräpinsamlingshandtag som används.
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.

GCHeapStats_V2 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID beskrivning
GCHeapStats_V2 4 Visar heapstatistiken i slutet av varje skräpinsamling.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
GenerationSize0 win:UInt64 Storleken, i byte, på generering 0-minne.
TotalPromotedSize0 win:UInt64 Antalet byte som höjs från generation 0 till generation 1.
GenerationSize1 win:UInt64 Storleken, i byte, på generation 1-minne.
TotalPromotedSize1 win:UInt64 Antalet byte som höjs från generation 1 till generation 2.
GenerationSize2 win:UInt64 Storleken, i byte, på generation 2-minne.
TotalPromotedSize2 win:UInt64 Antalet byte som överlevde i generation 2 efter den senaste samlingen.
GenerationSize3 win:UInt64 Storleken, i byte, på den stora objekthögen.
TotalPromotedSize3 win:UInt64 Antalet byte som överlevde i den stora objekthögen efter den senaste samlingen.
FinalizationPromotedSize win:UInt64 Den totala storleken, i byte, på de objekt som är redo för slutförande.
FinalizationPromotedCount win:UInt64 Antalet objekt som är redo för slutförande.
PinnedObjectCount win:UInt32 Antalet fästa (oflyttbara) objekt.
SinkBlockCount win:UInt32 Antalet synkroniseringsblock som används.
GCHandleCount win:UInt32 Antalet skräpinsamlingshandtag som används.
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.
GenerationSize4 win:UInt64 Storleken, i byte, på det fästa objektets heap.
TotalPromotedSize4 win:UInt64 Antalet byte som överlevde i den fästa objekthögen efter den senaste samlingen.

GCCreateSegment_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCCreateSegment_V1 5 Ett nytt skräpinsamlingssegment har skapats. När spårning är aktiverat på en process som redan körs genereras dessutom den här händelsen för varje befintligt segment.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
Adress win:UInt64 Segmentets adress.
Storlek win:UInt64 Segmentets storlek.
Typ win:UInt32 0x0 – Heap för små objekt.

0x1 – Hög med stora objekt.

0x2 - Skrivskyddad hög.
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.

Observera att storleken på segment som allokeras av skräpinsamlaren är implementeringsspecifik och kan komma att ändras när som helst, inklusive i periodiska uppdateringar. Din app bör aldrig göra antaganden om eller vara beroende av en viss segmentstorlek och bör inte heller försöka konfigurera mängden minne som är tillgängligt för segmentallokeringar.

GCFreeSegment_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCFreeSegment_V1 6 Ett skräpinsamlingssegment har släppts.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
Adress win:UInt64 Segmentets adress.
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.

GCRestartEEBegin_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCRestartEEBegin_V1 7 Återupptagandet från common language runtime suspension har påbörjats.

Inga händelsedata.

GCRestartEEEnd_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCRestartEEEnd_V1 3 Återupptagandet från common language runtime suspension har upphört.

Inga händelsedata.

GCSuspendEE_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCSuspendEE_V1 9 Start av avstängning av körningsmotorn för skräpinsamling.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
Anledning win:UInt16 0x0 - Övrigt.

0x1 – Skräpinsamling.

0x2 – Avstängning av programdomän.

0x3 – Kod pitching.

0x4 – Avstängning.

0x5 – Felsökningsprogram.

0x6 – Förberedelse för skräpinsamling.
Antal win:UInt32 Antalet GC vid den tidpunkten. Vanligtvis skulle du se en efterföljande GC Start-händelse efter detta, och dess Antal skulle vara antalet + 1 när vi ökar GC-indexet under en skräpinsamling.
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.

GCSuspendEEEnd_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCSuspendEEEnd_V1 8 Slut på avstängning av körningsmotorn för skräpinsamling.

Inga händelsedata.

GCAllocationTick_V2 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCAllocationTick_V2 10 Varje gång tilldelas cirka 100 KB per objekthög. Det vill: SOH, LOH och POH ackumulerar sina allokerade byte separat. I Server GC görs detta per heap.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
AllocationAmount win:UInt32 Allokeringsstorleken i byte. Det här värdet är korrekt för allokeringar som är mindre än längden på en ULONG (4 294 967 295 byte). Om allokeringen är större innehåller det här fältet ett trunkerat värde. Används AllocationAmount64 för mycket stora allokeringar.
AllocationKind win:UInt32 0x0 – Liten objektallokering (allokeringen finns i en liten objekthög).
0x1 – Stor objektallokering (allokeringen finns i en stor objekthög).
0x2 – Fäst objektallokering (allokering finns i fäst objekt-heap).
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.
AllocationAmount64 win:UInt64 Allokeringsstorleken i byte. Det här värdet är korrekt för mycket stora allokeringar.
TypeId win:Pointer Adressen till MethodTable. När det finns flera typer av objekt som allokerades under den här händelsen är detta adressen till MethodTable som motsvarar det senaste allokerade objektet (det objekt som gjorde att tröskelvärdet på 100 KB överskreds).
Typename win:UnicodeString Namnet på den typ som allokerades. När det finns flera typer av objekt som allokerades under den här händelsen är det här typen av det sista objektet som allokerades (det objekt som gjorde att tröskelvärdet på 100 KB överskreds).
HeapIndex win:UInt32 Heapen där objektet allokerades. Det här värdet är 0 (noll) när du kör med arbetsstationens skräpinsamling.

GCAllocationTick_V3 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCAllocationTick_V2 10 Varje gång tilldelas cirka 100 KB per objekthög. Det vill: SOH, LOH och POH ackumulerar sina allokerade byte separat. I Server GC görs detta per heap.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
AllocationAmount win:UInt32 Allokeringsstorleken i byte. Det här värdet är korrekt för allokeringar som är mindre än längden på en ULONG (4 294 967 295 byte). Om allokeringen är större innehåller det här fältet ett trunkerat värde. Används AllocationAmount64 för mycket stora allokeringar.
AllocationKind win:UInt32 0x0 – Liten objektallokering (allokeringen finns i en liten objekthög).
0x1 – Stor objektallokering (allokeringen finns i en stor objekthög).
0x2 – Fäst objektallokering (allokering finns i fäst objekt-heap).
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.
AllocationAmount64 win:UInt64 Allokeringsstorleken i byte. Det här värdet är korrekt för mycket stora allokeringar.
TypeId win:Pointer Adressen till MethodTable. När det finns flera typer av objekt som allokerades under den här händelsen är detta adressen till MethodTable som motsvarar det senaste allokerade objektet (det objekt som gjorde att tröskelvärdet på 100 KB överskreds).
Typename win:UnicodeString Namnet på den typ som allokerades. När det finns flera typer av objekt som allokerades under den här händelsen är det här typen av det sista objektet som allokerades (det objekt som gjorde att tröskelvärdet på 100 KB överskreds).
HeapIndex win:UInt32 Heapen där objektet allokerades. Det här värdet är 0 (noll) när du kör med arbetsstationens skräpinsamling.
Adress win:Pointer Adressen till det senast allokerade objektet.

GCFinalizersBegin_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCFinalizersBegin_V1 14 Början av att köra finalizers.

Inga händelsedata.

GCFinalizersEnd_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCFinalizersEnd_V1 13 Slutet på slutkörningen av finalizers.

I följande tabell visas händelsedata:

Fältnamn Datatyp beskrivning
Count win:UInt32 Antalet slutförare som kördes.
ClrInstanceID win:UInt16 Unikt ID för instansen av CLR eller CoreCLR.

GCCreateConcurrentThread_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)
ThreadingKeyword (0x10000) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCCreateConcurrentThread_V1 11 Samtidig skräpinsamlingstråd skapades.

Inga händelsedata.

GCTerminateConcurrentThread_V1 händelse

I följande tabell visas nyckelordet och nivån:

Nyckelord för att höja händelsen Nivå
GCKeyword (0x1) Information (4)
ThreadingKeyword (0x10000) Information (4)

Följande tabell visar händelseinformationen:

Event Händelse-ID Upphöjt när
GCTerminateConcurrentThread_V1 12 Den samtidiga skräpinsamlingstråden avslutades.

Inga händelsedata.

Se även