Çöp Toplama ETW Olayları
Bu olaylar çöp toplamayla ilgili bilgileri toplar. Bunlar, kaç kez çöp toplama gerçekleştirildiğini, çöp toplama sırasında ne kadar belleğin boşaltıldığını vb. belirleme dahil olmak üzere tanılama ve hata ayıklamaya yardımcı olur.
Bu kategori aşağıdaki olaylardan oluşur:
- GCStart_V1 Olayı
- GCEnd_V1 Olayı
- GCHeapStats_V1 Olayı
- GCHeapStats_V2 Olayı
- GCCreateSegment_V1 Olayı
- GCFreeSegment_V1 Olayı
- GCRestartEEBegin_V1 Olayı
- GCRestartEEEnd_V1 Olayı
- GCSuspendEE_V1 Olayı
- GCSuspendEEEnd_V1 Olayı
- GCAllocationTick_V2 Olayı
- GCAllocationTick_V3 Olayı
- GCFinalizersBegin_V1 Olayı
- GCFinalizersEnd_V1 Olayı
- GCCreateConcurrentThread_V1 Olayı
- GCTerminateConcurrentThread_V1 Olayı
GCStart_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir. Daha fazla bilgi için bkz . CLR ETW Anahtar Sözcükleri ve Düzeyleri.
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCStart_V1 |
1 | Çöp toplama başlatıldı. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
Count | win:UInt32 | n. çöp toplama. |
Derinlik | win:UInt32 | Toplanan nesil. |
Nedeni | win:UInt32 | Çöp toplamanın neden tetiklendiği: 0x0 - Küçük nesne yığın ayırma. 0x1 - Indüklenmiş. 0x2 - Düşük bellek. 0x3 - Boş. 0x4 - Büyük nesne yığın ayırma. 0x5 - Boş alan (küçük nesne yığını için). 0x6 - Alan yetersiz (büyük nesne yığını için). 0x7 - Engelleyici olarak tetiklenmiş ancak zorlamalı değildir. 0x8 - Stres testi. 0x9 - Sonlandırıcı iş parçacığı, işlemin düşük bellekte olduğunu ve bir GC tetiklemekte olduğunu gözlemledi. 0x10 - Kullanıcı kodu GC'yi tetikledi ve sıkıştırma GC'si olmasını istedi. |
Tür | win:UInt32 | 0x0 - Atık toplamayı engelleme arka plan çöp toplama dışında oluştu. 0x1 - Arka plan çöp toplama. 0x2 - Arka plan çöp toplama sırasında atık toplamayı engelleme oluştu. |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
GCEnd_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCEnd_V1 |
2 | Çöp toplama sona erdi. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
Count | win:UInt32 | n. çöp toplama. |
Derinlik | win:UInt32 | Toplanan nesil. |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
GCHeapStats_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kimliği | Açıklama |
---|---|---|
GCHeapStats_V1 |
4 | Her çöp toplama işleminin sonundaki yığın istatistiklerini gösterir. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
GenerationSize0 | win:UInt64 | 0. nesil belleğin bayt cinsinden boyutu. |
TotalPromotedSize0 | win:UInt64 | 0. nesilden 1. nesile yükseltilen bayt sayısı. |
GenerationSize1 | win:UInt64 | 1. nesil belleğin bayt cinsinden boyutu. |
TotalPromotedSize1 | win:UInt64 | 1. nesilden 2. nesile yükseltilen bayt sayısı. |
GenerationSize2 | win:UInt64 | 2. nesil belleğin bayt cinsinden boyutu. |
TotalPromotedSize2 | win:UInt64 | Son koleksiyondan sonra 2. nesilde hayatta kalan bayt sayısı. |
GenerationSize3 | win:UInt64 | Büyük nesne yığınının bayt cinsinden boyutu. |
TotalPromotedSize3 | win:UInt64 | Son koleksiyondan sonra büyük nesne yığınında hayatta kalan bayt sayısı. |
FinalizationPromotedSize | win:UInt64 | Sonlandırmaya hazır nesnelerin bayt cinsinden toplam boyutu. |
FinalizationPromotedCount | win:UInt64 | Sonlandırma için hazır olan nesne sayısı. |
PinnedObjectCount | win:UInt32 | Sabitlenmiş (taşınamaz) nesnelerin sayısı. |
SinkBlockCount | win:UInt32 | Kullanılan eşitleme bloklarının sayısı. |
GCHandleCount | win:UInt32 | Kullanılan çöp toplama tutamaçlarının sayısı. |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
GCHeapStats_V2 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kimliği | Açıklama |
---|---|---|
GCHeapStats_V2 |
4 | Her çöp toplama işleminin sonundaki yığın istatistiklerini gösterir. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
GenerationSize0 | win:UInt64 | 0. nesil belleğin bayt cinsinden boyutu. |
TotalPromotedSize0 | win:UInt64 | 0. nesilden 1. nesile yükseltilen bayt sayısı. |
GenerationSize1 | win:UInt64 | 1. nesil belleğin bayt cinsinden boyutu. |
TotalPromotedSize1 | win:UInt64 | 1. nesilden 2. nesile yükseltilen bayt sayısı. |
GenerationSize2 | win:UInt64 | 2. nesil belleğin bayt cinsinden boyutu. |
TotalPromotedSize2 | win:UInt64 | Son koleksiyondan sonra 2. nesilde hayatta kalan bayt sayısı. |
GenerationSize3 | win:UInt64 | Büyük nesne yığınının bayt cinsinden boyutu. |
TotalPromotedSize3 | win:UInt64 | Son koleksiyondan sonra büyük nesne yığınında hayatta kalan bayt sayısı. |
FinalizationPromotedSize | win:UInt64 | Sonlandırmaya hazır nesnelerin bayt cinsinden toplam boyutu. |
FinalizationPromotedCount | win:UInt64 | Sonlandırma için hazır olan nesne sayısı. |
PinnedObjectCount | win:UInt32 | Sabitlenmiş (taşınamaz) nesnelerin sayısı. |
SinkBlockCount | win:UInt32 | Kullanılan eşitleme bloklarının sayısı. |
GCHandleCount | win:UInt32 | Kullanılan çöp toplama tutamaçlarının sayısı. |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
GenerationSize4 | win:UInt64 | Sabitlenmiş nesne yığınının bayt cinsinden boyutu. |
TotalPromotedSize4 | win:UInt64 | Son koleksiyondan sonra sabitlenmiş nesne yığınında hayatta kalan bayt sayısı. |
GCCreateSegment_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCCreateSegment_V1 |
5 | Yeni bir çöp toplama kesimi oluşturuldu. Ayrıca, zaten çalışmakta olan bir işlemde izleme etkinleştirildiğinde, bu olay var olan her kesim için oluşturulur. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
Adres | win:UInt64 | Segmentin adresi. |
Size | win:UInt64 | Segmentin boyutu. |
Tür | win:UInt32 | 0x0 - Küçük nesne yığını. 0x1 - Büyük nesne yığını. 0x2 - Salt okunur yığın. |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
Atık toplayıcı tarafından ayrılan kesimlerin boyutunun uygulamaya özgü olduğunu ve düzenli güncelleştirmeler de dahil olmak üzere herhangi bir zamanda değiştirilebilir olduğunu unutmayın. Uygulamanız hiçbir zaman belirli bir segment boyutuyla ilgili varsayımlarda bulunmamalı veya segment ayırmaları için kullanılabilir bellek miktarını yapılandırmaya çalışmamalıdır.
GCFreeSegment_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCFreeSegment_V1 |
6 | Bir çöp toplama kesimi serbest bırakıldı. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
Adres | win:UInt64 | Segmentin adresi. |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
GCRestartEEBegin_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCRestartEEBegin_V1 |
7 | Ortak dil çalışma zamanı askıya alma işleminin yeniden başlatılması başladı. |
Olay verileri yok.
GCRestartEEEnd_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kimliği | Yükseltildiğinde |
---|---|---|
GCRestartEEEnd_V1 |
3 | Ortak dil çalışma zamanı askıya alma işleminin sürdürülmesi sona erdi. |
Olay verileri yok.
GCSuspendEE_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCSuspendEE_V1 |
9 | Atık toplama için yürütme altyapısının askıya alınma başlangıcı. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
Nedeni | win:UInt16 | 0x0 - Diğer. 0x1 - Çöp toplama. 0x2 - Uygulama etki alanı kapatma. 0x3 - Kod sunumu. 0x4 - Kapatma. 0x5 - Hata Ayıklayıcı. 0x6 - Çöp toplama hazırlığı. |
Sayı | win:UInt32 | O sırada GC sayısı. Genellikle, bundan sonra sonraki bir GC Başlangıç olayını görürsünüz ve bir çöp toplama sırasında GC dizinini artırdığımız için Count + 1 olur. |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
GCSuspendEEEnd_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCSuspendEEEnd_V1 |
8 | Atık toplama için yürütme altyapısının askıya alınması sona erdi. |
Olay verileri yok.
GCAllocationTick_V2 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCAllocationTick_V2 |
10 | Nesne yığını başına her seferinde yaklaşık 100 KB ayrılır. Yani SOH, LOH ve POH ayrılmış baytlarını ayrı ayrı biriktirir. Sunucu GC'de bu işlem yığın başına yapılır. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
AyırmaAmount | win:UInt32 | Bayt cinsinden ayırma boyutu. Bu değer, ULONG uzunluğundan (4.294.967.295 bayt) küçük ayırmalar için doğrudur. Ayırma daha büyükse, bu alan kesilmiş bir değer içerir. Çok büyük ayırmalar için kullanın AllocationAmount64 . |
AllocationKind | win:UInt32 | 0x0 - Küçük nesne ayırma (ayırma küçük nesne yığınındadır). 0x1 - Büyük nesne ayırma (ayırma büyük nesne yığınındadır). 0x2 - Sabitlenmiş nesne ayırma (ayırma sabitlenmiş nesne yığınındadır). |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
AllocationAmount64 | win:UInt64 | Bayt cinsinden ayırma boyutu. Bu değer çok büyük ayırmalar için doğrudur. |
Typeıd | win:pointer | MethodTable'ın adresi. Bu olay sırasında ayrılan çeşitli nesne türleri olduğunda, bu, ayrılan son nesneye (100 KB eşiğinin aşılmasına neden olan nesne) karşılık gelen MethodTable'ın adresidir. |
TypeName | win:UnicodeString | Ayrılan türün adı. Bu olay sırasında ayrılan çeşitli nesne türleri olduğunda, bu ayrılan son nesnenin türüdür (100 KB eşiğinin aşılmasına neden olan nesne). |
HeapIndex | win:UInt32 | Nesnenin ayrıldığı yığın. İş istasyonu çöp toplama ile çalışırken bu değer 0 (sıfır) olur. |
GCAllocationTick_V3 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCAllocationTick_V2 |
10 | Nesne yığını başına her seferinde yaklaşık 100 KB ayrılır. Yani SOH, LOH ve POH ayrılmış baytlarını ayrı ayrı biriktirir. Sunucu GC'de bu işlem yığın başına yapılır. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
AyırmaAmount | win:UInt32 | Bayt cinsinden ayırma boyutu. Bu değer, ULONG uzunluğundan (4.294.967.295 bayt) küçük ayırmalar için doğrudur. Ayırma daha büyükse, bu alan kesilmiş bir değer içerir. Çok büyük ayırmalar için kullanın AllocationAmount64 . |
AllocationKind | win:UInt32 | 0x0 - Küçük nesne ayırma (ayırma küçük nesne yığınındadır). 0x1 - Büyük nesne ayırma (ayırma büyük nesne yığınındadır). 0x2 - Sabitlenmiş nesne ayırma (ayırma sabitlenmiş nesne yığınındadır). |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
AllocationAmount64 | win:UInt64 | Bayt cinsinden ayırma boyutu. Bu değer çok büyük ayırmalar için doğrudur. |
Typeıd | win:pointer | MethodTable'ın adresi. Bu olay sırasında ayrılan çeşitli nesne türleri olduğunda, bu, ayrılan son nesneye (100 KB eşiğinin aşılmasına neden olan nesne) karşılık gelen MethodTable'ın adresidir. |
TypeName | win:UnicodeString | Ayrılan türün adı. Bu olay sırasında ayrılan çeşitli nesne türleri olduğunda, bu ayrılan son nesnenin türüdür (100 KB eşiğinin aşılmasına neden olan nesne). |
HeapIndex | win:UInt32 | Nesnenin ayrıldığı yığın. İş istasyonu çöp toplama ile çalışırken bu değer 0 (sıfır) olur. |
Adres | win:pointer | Son ayrılan nesnenin adresi. |
GCFinalizersBegin_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCFinalizersBegin_V1 |
14 | Sonlandırıcıları çalıştırmanın başlangıcı. |
Olay verileri yok.
GCFinalizersEnd_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCFinalizersEnd_V1 |
13 | Sonlandırıcıları çalıştırmanın sonu. |
Aşağıdaki tabloda olay verileri gösterilmektedir:
Alan adı | Veri türü | Açıklama |
---|---|---|
Count | win:UInt32 | Çalıştırılan sonlandırıcıların sayısı. |
ClrInstanceID | win:UInt16 | CLR veya CoreCLR örneği için benzersiz kimlik. |
GCCreateConcurrentThread_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
ThreadingKeyword (0x10000) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | Eşzamanlı çöp toplama iş parçacığı oluşturuldu. |
Olay verileri yok.
GCTerminateConcurrentThread_V1 Olayı
Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:
Olayı oluşturmak için anahtar sözcük | Level |
---|---|
GCKeyword (0x1) |
Bilgilendirme (4) |
ThreadingKeyword (0x10000) |
Bilgilendirme (4) |
Aşağıdaki tabloda olay bilgileri gösterilmektedir:
Etkinlik | Olay Kodu | Yükseltildiğinde |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | Eşzamanlı çöp toplama iş parçacığı sonlandırıldı. |
Olay verileri yok.