Sdílet prostřednictvím


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 objektu

0x1 - vyvolána.

0x2 – nedostatek paměti.

0x3 – prázdné.

0x4 – přidělení haldy velkého objektu

0x5 – 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 AppDomain

0x3: 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: AsyncPinned

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

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

0x1: Finalizátor

0x2: Popisovač

0x3: starší

0x4: SizedRef

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