Çö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ı

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.

Ayrıca bkz.