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
- GCEnd_V1 händelse
- GCHeapStats_V1 händelse
- GCHeapStats_V2 händelse
- GCCreateSegment_V1 händelse
- GCFreeSegment_V1 händelse
- GCRestartEEBegin_V1 händelse
- GCRestartEEEnd_V1 händelse
- GCSuspendEE_V1 händelse
- GCSuspendEEEnd_V1 händelse
- GCAllocationTick_V2 händelse
- GCAllocationTick_V3 händelse
- GCFinalizersBegin_V1 händelse
- GCFinalizersEnd_V1 händelse
- GCCreateConcurrentThread_V1 händelse
- GCTerminateConcurrentThread_V1 händelse
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
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för