Události uvolňování paměti modulu runtime .NET
Události popsané v tomto článku shromažďují informace týkající se uvolňování paměti. Pomáhají při diagnostice a ladění, včetně určení, kolikrát bylo provedeno uvolňování paměti, kolik paměti bylo uvolněno během uvolňování paměti atd. Další informace o tom, jak tyto události používat pro účely diagnostiky, najdete v tématu protokolování a trasování aplikací .NET.
událost GCStart_V2
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCStart_V1 |
1 | Spustilo se uvolňování paměti. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
Count |
win:UInt32 |
nuvolňování paměti. |
Depth |
win:UInt32 |
Generace, která se shromažďuje. |
Reason |
win:UInt32 |
Proč se aktivovalo uvolňování paměti:0x0 – přidělení haldy malého objektu0x1 - vyvolána.0x2 – nedostatek paměti.0x3 – prázdné.0x4 – přidělení haldy velkého objektu0x5 – nedostatek místa (pro malou haldu objektu).0x6 – nedostatek místa (pro haldu velkého objektu).0x7 – vyvolána, ale není vynucena jako blokování. |
Type |
win:UInt32 |
0x0 – Blokování uvolňování paměti došlo mimo uvolňování paměti na pozadí.0x1 – uvolňování paměti na pozadí0x2 – Blokování uvolňování paměti došlo během uvolňování paměti na pozadí. |
ClrInstanceID |
win:UInt16 | Jedinečné ID instance CoreCLR. |
událost GCEnd_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCEnd_V1 |
2 | Uvolňování paměti skončilo. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
Count |
win:UInt32 |
nuvolňování paměti. |
Depth |
win:UInt32 |
Generace, která byla shromážděna. |
ClrInstanceID |
win:UInt16 | Jedinečné ID instance CoreCLR. |
událost GCHeapStats_V2
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Popis |
---|---|---|
GCHeapStats_V2 |
4 | Zobrazuje statistiku haldy na konci každé uvolňování paměti. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
GenerationSize0 |
win:UInt64 |
Velikost paměti generace 0 v bajtech. |
TotalPromotedSize0 |
win:UInt64 |
Počet bajtů, které jsou povýšeny z generace 0 na generaci 1. |
GenerationSize1 |
win:UInt64 |
Velikost paměti generace 1 v bajtech. |
TotalPromotedSize1 |
win:UInt64 |
Počet bajtů, které jsou povýšeny z generace 1 na generaci 2. |
GenerationSize2 |
win:UInt64 |
Velikost paměti generace 2 v bajtech. |
TotalPromotedSize2 |
win:UInt64 |
Počet bajtů, které přežily v generaci 2 po poslední kolekci. |
GenerationSize3 |
win:UInt64 |
Velikost haldy velkého objektu v bajtech. |
TotalPromotedSize3 |
win:UInt64 |
Počet bajtů, které přežily ve velké haldě objektu po poslední kolekci. |
FinalizationPromotedSize |
win:UInt64 |
Celková velikost objektů, které jsou připravené k dokončení, v bajtech. |
FinalizationPromotedCount |
win:UInt64 |
Počet objektů, které jsou připravené k dokončení. |
PinnedObjectCount |
win:UInt32 |
Počet připnutých (nepotřebných) objektů. |
SinkBlockCount |
win:UInt32 |
Počet využitých bloků synchronizace. |
GCHandleCount |
win:UInt32 |
Počet popisovačů uvolňování paměti, které se používají. |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |
GenerationSize4 |
win:UInt64 |
Velikost haldy připnutého objektu v bajtech. |
TotalPromotedSize4 |
win:UInt64 |
Počet bajtů, které přežily v haldě připnutého objektu po poslední kolekci. |
událost GCCreateSegment_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCCreateSegment_V1 |
5 | Byl vytvořen nový segment uvolňování paměti. Kromě toho, pokud je trasování povolené u již spuštěného procesu, je tato událost vyvolána pro každý existující segment. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
Address |
win:UInt64 |
Adresa segmentu. |
Size |
win:UInt64 |
Velikost segmentu. |
Type |
win:UInt32 |
0x0 – malá halda objektu. 0x1 – velká halda objektu. 0x2 – halda jen pro čtení. |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |
Všimněte si, že velikost segmentů přidělených systémem uvolňování paměti je specifická pro implementaci a může se kdykoli změnit, včetně pravidelných aktualizací. Vaše aplikace by nikdy neměla provádět předpoklady týkající se konkrétní velikosti segmentu ani záviset na ní, ani by se neměla pokoušet konfigurovat množství paměti dostupné pro přidělení segmentů.
událost GCFreeSegment_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCFreeSegment_V1 |
6 | Byl vydán segment uvolňování paměti. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
Address |
win:UInt64 |
Adresa segmentu. |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |
událost GCRestartEEBegin_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCRestartEEBegin_V1 |
7 | Zahájilo se obnovení z pozastavení modulu CLR (Common Language Runtime). |
Tato událost nemá žádná data událostí.
událost GCRestartEEEnd_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCRestartEEEnd_V1 |
3 | Obnovení z pozastavení modulu CLR (Common Language Runtime) skončilo. |
Tato událost nemá žádná data událostí.
událost GCSuspendEEEnd_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCSuspendEEEnd_V1 |
8 | Konec pozastavení prováděcího modulu pro uvolňování paměti. |
Tato událost nemá žádná data událostí.
událost GCSuspendEEBegin_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCSuspendEEBegin_V1 |
9 | Začátek pozastavení prováděcího modulu pro uvolňování paměti. |
Název pole | Datový typ | Popis |
---|---|---|
Count |
win:UInt32 |
nuvolňování paměti. |
Reason |
win:UInt32 |
Důvod pozastavení EE.0x0 : Pozastavení pro jiné0x1 : Pozastavení pro GC.0x2 : Pozastavení vypnutí domény AppDomain0x3 : Pozastavení pro rozhazování kódu.0x4 : Pozastavení vypnutí.0x5 : Pozastavit pro ladicí program.0x6 : Pozastavení přípravy GC.0x7 : Pozastavení úklidu ladicího programu |
událost GCAllocationTick_V3
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Podrobná (5) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCAllocationTick_V3 |
10 | Pokaždé, když je přiděleno přibližně 100 kB. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
AllocationAmount |
win:UInt32 |
Velikost přidělení vbajch Tato hodnota je přesná pro přidělení, která jsou menší než délka ULONG (4 294 967 295 bajtů). Pokud je přidělení větší, obsahuje toto pole zkrácenou hodnotu. Pro velmi velké přidělení použijte AllocationAmount64 . |
AllocationKind |
win:UInt32 |
0x0 – přidělení malého objektu (přidělení je v malé haldě objektu).0x1 – přidělení velkého objektu (přidělení je v haldě velkého objektu). |
AllocationAmount64 |
win:UInt64 |
Velikost přidělení vbajch Tato hodnota je přesná pro velmi velké přidělení. |
TypeId |
win:Pointer |
Adresa MethodTable. Pokud je během této události přiděleno několik typů objektů, jedná se o adresu MethodTable odpovídající poslednímu přidělenému objektu (objekt, který způsobil překročení prahové hodnoty 100 kB). |
TypeName |
win:UnicodeString |
Název přiděleného typu. Pokud je během této události přiděleno několik typů objektů, jedná se o typ posledního přiděleného objektu (objekt, který způsobil překročení prahové hodnoty 100 kB). |
HeapIndex |
win:UInt32 |
Halda, ve které byl objekt přidělen. Tato hodnota je 0 (nula) při spuštění s uvolňováním paměti pracovní stanice. |
Address |
win:Pointer |
Adresa posledního přiděleného objektu. |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |
událost GCCreateConcurrentThread_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
ThreadingKeyword (0x10000) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | Bylo vytvořeno souběžné vlákno uvolňování paměti. |
Tato událost nemá žádná data událostí.
událost GCTerminateConcurrentThread_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
ThreadingKeyword (0x10000) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | Souběžné vlákno uvolňování paměti bylo ukončeno. |
Tato událost nemá žádná data událostí.
událost GCFinalizersBegin_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCFinalizersBegin_V1 |
14 | Začátek spuštění finalizačních metod. |
Tato událost nemá žádná data událostí.
událost GCFinalizersEnd_V1
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCFinalizersEnd_V1 |
13 | Konec běhu finalizátorů. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
Count |
win:UInt32 |
Počet spuštěných finalizátorů. |
ClrInstanceID |
win:UInt16 | Jedinečné ID instance CLR nebo CoreCLR. |
SetGCHandle – událost
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCHandleKeyword (0x2) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
SetGCHandle |
30 | Byl nastaven popisovač GC. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
HandleID |
win:Pointer |
Adresa přiděleného popisovače. |
ObjectID |
win:Pointer |
Adresa objektu, jehož popisovač byl vytvořen. |
Kind |
win:UInt32 |
Typ úchytu GC, který byl nastaven. 0x0 : WeakShort 0x1 : WeakLong 0x2 : silná 0x3 : Připnuto 0x4 : Proměnná0x5 : Ref Přechádka 0x6 : Závislý0x7 : AsyncPinned0x8 : SizedRef |
Generation |
win:UInt32 |
Generování objektu, jehož popisovač byl vytvořen. |
AppDomainID |
win:UInt64 |
ID domény aplikace. |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |
Událost DestroyGCHandle
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCHandleKeyword (0x2) |
Informační (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
DestroyGCHandle |
31 | Popisovač GC je zničen. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
HandleID |
win:Pointer |
Adresa zničeného popisovače. |
ClrInstanceID |
win:UInt16 | Jedinečné ID instance CoreCLR. |
Událost PinObjectAtGCTime
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Podrobná (5) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
PinObjectAtGCTime |
33 | Objekt byl připnut během GC. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
HandleID |
win:Pointer |
Adresa popisovače. |
ObjectID |
win:Pointer |
Adresa připnutého objektu. |
ObjectSize |
win:UInt64 |
Velikost připnutého objektu. |
TypeName |
win:UnicodeString |
Název typu připnutého objektu. |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |
Událost GCTriggered
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Podrobná (5) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCTriggered |
35 | Aktivoval se GC. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
Reason |
win:UInt32 |
Důvod, proč došlo k aktivaci GC.0x0 : AllocSmall0x1 : Vyvolané 0x2 : LowMemory 0x3 : Prázdné 0x4 : AllocLarge 0x5 : OutOfSpaceSmallObjectHeap 0x6 : OutOfSpaceLargeObjectHeap 0x7 :InducedNoForce 0x8 : Stres 0x9 : IndukovanýLowmemory |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |
Událost IncreaseMemoryPressure
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informace (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
IncreaseMemoryPressure |
200 | Zvýšil se tlak paměti. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
ClrInstanceID |
win:UInt16 | Jedinečné ID instance CoreCLR. |
Událost DecreaseMemoryPressure
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informace (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
DecreaseMemoryPressure |
201 | Zatížení paměti se snížilo. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
BytesFreed |
win:UInt32 |
Bajty se uvolnily. |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |
Událost GCMarkWithType
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Informace (4) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCMarkWithType |
202 | Kořen GC byl označen během fáze označení GC. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
HeapNum |
win:UInt32 |
Číslo haldy. |
ClrInstanceID |
win:UInt16 | Jedinečné ID instance CoreCLR. |
Type |
win:UInt32 |
Kořenový typ GC.0x0 : Stack0x1 : Finalizátor0x2 : Popisovač0x3 : starší0x4 : SizedRef0x5 : Přetečení |
Bytes |
win:UInt64 |
Počet bajtů označených. |
událost GCJoin_V2
Následující tabulka ukazuje klíčové slovo a úroveň:
Klíčové slovo pro vyvolání události | Úroveň |
---|---|
GCKeyword (0x1) |
Podrobná (5) |
Následující tabulka obsahuje informace o události:
Událost | ID události | Vyvolání při |
---|---|---|
GCJoin_V2 |
203 | S připojeným závitem GC. |
V následující tabulce jsou uvedena data události:
Název pole | Datový typ | Popis |
---|---|---|
Heap |
win:UInt32 |
Číslo haldy |
JoinTime |
win:UInt32 |
Určuje, jestli se tato událost aktivuje na začátku spojení nebo na konci spojení (0x0 pro zahájení spojení, 0x1 pro konec spojení). |
JoinType |
win:UInt32 |
Typ spojení. 0x0 : Poslední spojení0x1 : Připojit se 0x2 : Restartování 0x3 : První zpětné spojení0x4 : Zpětné spojení |
ClrInstanceID |
win:UInt16 |
Jedinečné ID instance CoreCLR. |