Zdarzenia odzyskiwania pamięci środowiska uruchomieniowego platformy .NET
Zdarzenia opisane w tym artykule zbierają informacje dotyczące odzyskiwania pamięci. Pomagają one w diagnostyce i debugowaniu, w tym określaniu, ile razy zostało wykonane odzyskiwanie pamięci, ile pamięci zostało zwolnione podczas odzyskiwania pamięci itp. Aby uzyskać więcej informacji na temat używania tych zdarzeń do celów diagnostycznych, zobacz Rejestrowanie i śledzenie aplikacji platformy .NET
zdarzenie GCStart_V2
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCStart_V1 |
1 | Rozpoczęto odzyskiwanie pamięci. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
Count |
win:UInt32 |
Nth wyrzucanie pamięci. |
Depth |
win:UInt32 |
Zbierane jest pokolenie. |
Reason |
win:UInt32 |
Dlaczego odzyskiwanie pamięci zostało wyzwolone:0x0 - Alokacja sterty małych obiektów.0x1 -Wywołane.0x2 - Mała ilość pamięci.0x3 -Pusty.0x4 - Alokacja sterty dużych obiektów.0x5 - Za mało miejsca (dla małego sterta obiektu).0x6 - Brak miejsca (dla dużych stert obiektów).0x7 - Wywołane, ale nie wymuszone jako blokowanie. |
Type |
win:UInt32 |
0x0 - Blokowanie odzyskiwania pamięci miało miejsce poza odzyskiwaniem pamięci w tle.0x1 — Odzyskiwanie pamięci w tle.0x2 - Blokowanie odzyskiwania pamięci wystąpiło podczas odzyskiwania pamięci w tle. |
ClrInstanceID |
win:UInt16 | Unikatowy identyfikator wystąpienia coreCLR. |
Zdarzenie GCEnd_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCEnd_V1 |
2 | Odzyskiwanie pamięci zostało zakończone. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
Count |
win:UInt32 |
Nth wyrzucanie pamięci. |
Depth |
win:UInt32 |
Generacja, która została zebrana. |
ClrInstanceID |
win:UInt16 | Unikatowy identyfikator wystąpienia coreCLR. |
zdarzenie GCHeapStats_V2
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | opis |
---|---|---|
GCHeapStats_V2 |
100 | Przedstawia statystyki sterty na końcu każdego odzyskiwania pamięci. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
GenerationSize0 |
win:UInt64 |
Rozmiar w bajtach pamięci generacji 0. |
TotalPromotedSize0 |
win:UInt64 |
Liczba bajtów, które są promowane z generacji 0 do generacji 1. |
GenerationSize1 |
win:UInt64 |
Rozmiar w bajtach pamięci generacji 1. |
TotalPromotedSize1 |
win:UInt64 |
Liczba bajtów, które są promowane z generacji 1 do generacji 2. |
GenerationSize2 |
win:UInt64 |
Rozmiar w bajtach pamięci 2. generacji. |
TotalPromotedSize2 |
win:UInt64 |
Liczba bajtów, które przetrwały w generacji 2 po ostatniej kolekcji. |
GenerationSize3 |
win:UInt64 |
Rozmiar w bajtach dużego sterty obiektu. |
TotalPromotedSize3 |
win:UInt64 |
Liczba bajtów, które przetrwały w stercie dużych obiektów po ostatniej kolekcji. |
FinalizationPromotedSize |
win:UInt64 |
Całkowity rozmiar (w bajtach) obiektów gotowych do finalizacji. |
FinalizationPromotedCount |
win:UInt64 |
Liczba obiektów gotowych do finalizacji. |
PinnedObjectCount |
win:UInt32 |
Liczba przypiętych (wymiennych) obiektów. |
SinkBlockCount |
win:UInt32 |
Liczba używanych bloków synchronizacji. |
GCHandleCount |
win:UInt32 |
Liczba używanych dojść do odzyskiwania pamięci. |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |
GenerationSize4 |
win:UInt64 |
Rozmiar w bajtach przypiętego sterty obiektu. |
TotalPromotedSize4 |
win:UInt64 |
Liczba bajtów, które przetrwały we przypiętej stercie obiektu po ostatniej kolekcji. |
zdarzenie GCCreateSegment_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCCreateSegment_V1 |
5 | Utworzono nowy segment odzyskiwania pamięci. Ponadto po włączeniu śledzenia w procesie, który jest już uruchomiony, to zdarzenie jest zgłaszane dla każdego istniejącego segmentu. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
Address |
win:UInt64 |
Adres segmentu. |
Size |
win:UInt64 |
Rozmiar segmentu. |
Type |
win:UInt32 |
0x0 — sterta małego obiektu. 0x1 — sterta dużych obiektów. 0x2 — sterta tylko do odczytu. |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |
Należy pamiętać, że rozmiar segmentów przydzielonych przez moduł odśmieceń pamięci jest specyficzny dla implementacji i może ulec zmianie w dowolnym momencie, w tym w okresowych aktualizacjach. Aplikacja nigdy nie powinna zakładać ani nie zależeć od określonego rozmiaru segmentu, ani nie powinna podejmować próby skonfigurowania ilości pamięci dostępnej dla alokacji segmentów.
zdarzenie GCFreeSegment_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCFreeSegment_V1 |
6 | Opublikowano segment odzyskiwania pamięci. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
Address |
win:UInt64 |
Adres segmentu. |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |
zdarzenie GCRestartEEBegin_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCRestartEEBegin_V1 |
7 | Rozpoczęto wznowienie zawieszenia środowiska uruchomieniowego języka wspólnego. |
To zdarzenie nie ma żadnych danych zdarzenia.
zdarzenie GCRestartEEEnd_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia: | Podniesione, gdy |
---|---|---|
GCRestartEEEnd_V1 |
3 | Wznowienie zawieszenia środowiska uruchomieniowego języka wspólnego zakończyło się. |
To zdarzenie nie ma żadnych danych zdarzenia.
zdarzenie GCSuspendEEEnd_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCSuspendEEEnd_V1 |
8 | Koniec zawieszenia aparatu wykonawczego do odzyskiwania pamięci. |
To zdarzenie nie ma żadnych danych zdarzenia.
zdarzenie GCSuspendEEBegin_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCSuspendEEBegin_V1 |
9 | Początek zawieszenia aparatu wykonawczego do odzyskiwania pamięci. |
Nazwa pola | Typ danych | opis |
---|---|---|
Count |
win:UInt32 |
Nth wyrzucanie pamięci. |
Reason |
win:UInt32 |
Przyczyna zawieszenia EE.0x0 : Wstrzymaj dla innego0x1 : Wstrzymaj dla GC.0x2 : Wstrzymaj zamknięcie domeny aplikacji.0x3 : wstrzymywanie w przypadku pitchingu kodu.0x4 : Wstrzymaj zamknięcie.0x5 : Wstrzymaj debuger.0x6 : Wstrzymaj dla narzędzia GC Prep.0x7 : Wstrzymywanie w przypadku zamiatania debugera |
zdarzenie GCAllocationTick_V3
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Pełne (5) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCAllocationTick_V3 |
10 | Za każdym razem, gdy przydzielono około 100 KB. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
AllocationAmount |
win:UInt32 |
Rozmiar alokacji w bajtach. Ta wartość jest dokładna dla alokacji, które są mniejsze niż długość ULONG (4,294,967,295 bajtów). Jeśli alokacja jest większa, to pole zawiera obciętą wartość. Służy AllocationAmount64 do bardzo dużych alokacji. |
AllocationKind |
win:UInt32 |
0x0 - Mała alokacja obiektu (alokacja znajduje się w małym stercie obiektu).0x1 - Alokacja dużych obiektów (alokacja znajduje się w dużym stercie obiektu). |
AllocationAmount64 |
win:UInt64 |
Rozmiar alokacji w bajtach. Ta wartość jest dokładna w przypadku bardzo dużych alokacji. |
TypeId |
win:Pointer |
Adres tabeli MethodTable. Jeśli podczas tego zdarzenia przydzielono kilka typów obiektów, jest to adres tabeli MethodTable, która odpowiada ostatniemu przydzielonym obiektowi (obiekt, który spowodował przekroczenie progu 100 KB). |
TypeName |
win:UnicodeString |
Nazwa przydzielonego typu. Jeśli podczas tego zdarzenia przydzielono kilka typów obiektów, jest to typ ostatniego przydzielonego obiektu (obiekt, który spowodował przekroczenie progu 100 KB). |
HeapIndex |
win:UInt32 |
Sterta, w której przydzielono obiekt. Ta wartość to 0 (zero) podczas uruchamiania z odzyskiwaniem pamięci stacji roboczej. |
Address |
win:Pointer |
Adres ostatniego przydzielonego obiektu. |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |
zdarzenie GCCreateConcurrentThread_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
ThreadingKeyword (0x10000) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | Utworzono współbieżny wątek odzyskiwania pamięci. |
To zdarzenie nie ma żadnych danych zdarzenia.
zdarzenie GCTerminateConcurrentThread_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
ThreadingKeyword (0x10000) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | Równoczesny wątek odzyskiwania pamięci został zakończony. |
To zdarzenie nie ma żadnych danych zdarzenia.
zdarzenie GCFinalizersBegin_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCFinalizersBegin_V1 |
14 | Początek uruchamiania finalizatorów. |
To zdarzenie nie ma żadnych danych zdarzenia.
zdarzenie GCFinalizersEnd_V1
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCFinalizersEnd_V1 |
13 | Koniec uruchomionych finalizatorów. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
Count |
win:UInt32 |
Liczba finalizatorów, które zostały uruchomione. |
ClrInstanceID |
win:UInt16 | Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR. |
SetGCHandle, zdarzenie
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCHandleKeyword (0x2) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
SetGCHandle |
30 | Ustawiono uchwyt GC. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
HandleID |
win:Pointer |
Adres przydzielonego uchwytu. |
ObjectID |
win:Pointer |
Adres obiektu, którego uchwyt został utworzony. |
Kind |
win:UInt32 |
Typ uchwytu GC, który został ustawiony. 0x0 : WeakShort 0x1 : WeakLong 0x2 :Silne 0x3 :Przypięte 0x4 :Zmiennej0x5 : RefCounted 0x6 :Zależne0x7 : AsyncPinned0x8 : SizeRef |
Generation |
win:UInt32 |
Generowanie obiektu, którego uchwyt został utworzony. |
AppDomainID |
win:UInt64 |
Identyfikator domeny aplikacji. |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |
Zdarzenie DestroyGCHandle
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCHandleKeyword (0x2) |
Informacyjne (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
DestroyGCHandle |
31 | Uchwyt GC jest niszczony. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
HandleID |
win:Pointer |
Adres zniszczonego uchwytu. |
ClrInstanceID |
win:UInt16 | Unikatowy identyfikator wystąpienia coreCLR. |
Zdarzenie PinObjectAtGCTime
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Pełne (5) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
PinObjectAtGCTime |
33 | Obiekt został przypięty podczas GC. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
HandleID |
win:Pointer |
Adres uchwytu. |
ObjectID |
win:Pointer |
Adres przypiętego obiektu. |
ObjectSize |
win:UInt64 |
Rozmiar przypiętego obiektu. |
TypeName |
win:UnicodeString |
Nazwa typu przypiętego obiektu. |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |
Zdarzenie GCTriggered
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Pełne (5) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCTriggered |
35 | Wyzwolono GC. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
Reason |
win:UInt32 |
Przyczyna wyzwolenia GC.0x0 : AllocSmall0x1 :Wywołane 0x2 : LowMemory 0x3 :Pusty 0x4 : AllocLarge 0x5 : OutOfSpaceSmallObjectHeap 0x6 : OutOfSpaceLargeObjectHeap 0x7 :InducedNoForce 0x8 :Stres 0x9 : InducedLowMemory |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |
Zdarzenie IncreaseMemoryPressure
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacje (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
IncreaseMemoryPressure |
200 | Zwiększono wykorzystanie pamięci. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
ClrInstanceID |
win:UInt16 | Unikatowy identyfikator wystąpienia coreCLR. |
Zdarzenie DecreaseMemoryPressure
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacje (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
DecreaseMemoryPressure |
201 | Zmniejszono wykorzystanie pamięci. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
BytesFreed |
win:UInt32 |
Bajty uwolnione. |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |
Zdarzenie GCMarkWithType
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Informacje (4) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCMarkWithType |
202 | Katalog główny GC został oznaczony podczas fazy znacznika GC. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
HeapNum |
win:UInt32 |
Numer sterta. |
ClrInstanceID |
win:UInt16 | Unikatowy identyfikator wystąpienia coreCLR. |
Type |
win:UInt32 |
Typ główny GC.0x0 :Stosu0x1 :Finalizatorów0x2 :Obsługi0x3 :Starsze0x4 : SizeRef0x5 :Przepełnienie |
Bytes |
win:UInt64 |
Liczba oznaczonych bajtów. |
zdarzenie GCJoin_V2
W poniższej tabeli przedstawiono słowo kluczowe i poziom:
Słowo kluczowe do zgłaszania zdarzenia | Poziom |
---|---|
GCKeyword (0x1) |
Pełne (5) |
W poniższej tabeli przedstawiono informacje o zdarzeniu:
Zdarzenie | Identyfikator zdarzenia | Podniesione, gdy |
---|---|---|
GCJoin_V2 |
203 | Sprzężony wątek GC. |
W poniższej tabeli przedstawiono dane zdarzenia:
Nazwa pola | Typ danych | opis |
---|---|---|
Heap |
win:UInt32 |
Numer sterta |
JoinTime |
win:UInt32 |
Wskazuje, czy to zdarzenie jest uruchamiane na początku sprzężenia, czy na końcu sprzężenia (0x0 na początek sprzężenia, 0x1 na koniec sprzężenia) |
JoinType |
win:UInt32 |
Typ sprzężenia. 0x0 : Ostatnie sprzężenia0x1 :Dołączyć 0x2 :Ponownie uruchomić 0x3 : Pierwsze sprzężenia odwrotne0x4 : Sprzężenia odwrotne |
ClrInstanceID |
win:UInt16 |
Unikatowy identyfikator wystąpienia coreCLR. |