.NET çalışma zamanı çöp toplama olayları

Bu makalede açıklanan olaylar, çöp toplamayla ilgili bilgileri toplar. Bunlar, çöp toplama işleminin kaç kez 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 olayların tanılama amacıyla nasıl kullanılacağı hakkında daha fazla bilgi için bkz . .NET uygulamalarını günlüğe kaydetme ve izleme

GCStart_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
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.
Depth win:UInt32 Toplanan nesil.
Reason win:UInt32 Çöp toplamanın neden tetiklendiği:

0x0 - Küçük nesne yığını ayırma.

0x1 -Bağlı.

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 - Yer yetersiz (büyük nesne yığını için).

0x7 - Engelleyici olarak tetiklenmiş ancak zorlamalı değildir.
Type win:UInt32 0x0 - Engelleme çöp toplama arka plan çöp toplama dışında oluştu.

0x1 - Arka plan çöp toplama.

0x2 - Arka plan atık toplama sırasında atık toplamayı engelleme oluştu.
ClrInstanceID win:UInt16 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.
Depth win:UInt32 Toplanan nesil.
ClrInstanceID win:UInt16 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 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
Address win:UInt64 Segmentin adresi.
Size win:UInt64 Segmentin boyutu.
Type win:UInt32 0x0 - Küçük nesne yığını.

0x1 - Büyük nesne yığını.

0x2 - Salt okunur yığın.
ClrInstanceID win:UInt16 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
Address win:UInt64 Segmentin adresi.
ClrInstanceID win:UInt16 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ı.

Bu olay herhangi bir olay verisi içermiyor.

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.

Bu olay herhangi bir olay verisi içermiyor.

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.

Bu olay herhangi bir olay verisi içermiyor.

GCSuspendEEBegin_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
GCSuspendEEBegin_V1 9 Atık toplama için yürütme altyapısının askıya alınma başlangıcı.
Alan adı Veri türü Açıklama
Count win:UInt32 n. çöp toplama.
Reason win:UInt32 EE'nin askıya alınma nedeni.

0x0: Diğer için Askıya Al

0x1: GC için askıya alın.

0x2: AppDomain kapatma için askıya alın.

0x3: Kod sunumu için askıya alın.

0x4: Kapatma için askıya alın.

0x5: Hata ayıklayıcı için askıya alın.

0x6: GC Hazırlığı için askıya alın.

0x7: Hata ayıklayıcı taraması için askıya alma

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) Ayrıntılı (5)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
GCAllocationTick_V3 10 Her seferinde yaklaşık 100 KB ayrılır.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan adı Veri türü Açıklama
AllocationAmount 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).
AllocationAmount64 win:UInt64 Bayt cinsinden ayırma boyutu. Bu değer çok büyük ayırmalar için doğrudur.
TypeId 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.
Address win:Pointer Son ayrılan nesnenin adresi.
ClrInstanceID win:UInt16 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.

Bu olay herhangi bir olay verisi içermiyor.

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ı.

Bu olay herhangi bir olay verisi içermiyor.

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ı.

Bu olay herhangi bir olay verisi içermiyor.

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.

SetGCHandle olayı

Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:

Olayı oluşturmak için anahtar sözcük Level
GCHandleKeyword (0x2) Bilgilendirme (4)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
SetGCHandle 30 GC Tanıtıcısı ayarlandı.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan adı Veri türü Açıklama
HandleID win:Pointer Ayrılan tanıtıcının adresi.
ObjectID win:Pointer Tanıtıcısı oluşturulan nesnenin adresi.
Kind win:UInt32 Ayarlanan GC tutamacının türü.

0x0: WeakShort

0x1: WeakLong

0x2:Güçlü

0x3:Sabitlenmiş

0x4:Değişken

0x5: RefCounted

0x6:Bağımlı

0x7: AsyncPinned

0x8: SizedRef
Generation win:UInt32 Tutamacı oluşturulan nesnenin nesli.
AppDomainID win:UInt64 AppDomain Kimliği.
ClrInstanceID win:UInt16 CoreCLR örneği için benzersiz kimlik.

DestroyGCHandle olayı

Aşağıdaki tabloda anahtar sözcük ve düzey gösterilmektedir:

Olayı oluşturmak için anahtar sözcük Level
GCHandleKeyword (0x2) Bilgilendirme (4)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
DestroyGCHandle 31 GC Tanıtıcısı yok edilir.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan adı Veri türü Açıklama
HandleID win:Pointer Yok edilen tanıtıcının adresi.
ClrInstanceID win:UInt16 CoreCLR örneği için benzersiz kimlik.

PinObjectAtGCTime 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) Ayrıntılı (5)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
PinObjectAtGCTime 33 Gc sırasında bir nesne sabitlendi.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan adı Veri türü Açıklama
HandleID win:Pointer Tanıtıcının adresi.
ObjectID win:Pointer Sabitlenmiş nesnenin adresi.
ObjectSize win:UInt64 Sabitlenmiş nesnenin boyutu.
TypeName win:UnicodeString Sabitlenmiş nesne türünün adı.
ClrInstanceID win:UInt16 CoreCLR örneği için benzersiz kimlik.

GCTriggered 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) Ayrıntılı (5)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
GCTriggered 35 Gc tetiklendi.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan adı Veri türü Açıklama
Reason win:UInt32 GC'nin tetiklenmiş olmasının nedeni.

0x0: AllocSmall

0x1:Bağlı

0x2: LowMemory

0x3:Boş

0x4: AllocLarge

0x5: OutOfSpaceSmallObjectHeap

0x6: OutOfSpaceLargeObjectHeap

0x7:InducedNoForce

0x8:Stres

0x9: InducedLowMemory
ClrInstanceID win:UInt16 CoreCLR örneği için benzersiz kimlik.

IncreaseMemoryPressure 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) Bilgi (4)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
IncreaseMemoryPressure 200 Bellek baskısı artırıldı.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan Adı Veri türü Açıklama
ClrInstanceID win:UInt16 CoreCLR örneği için benzersiz kimlik.

DecreaseMemoryPressure 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) Bilgi (4)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
DecreaseMemoryPressure 201 Bellek baskısı azaldı.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan Adı Veri türü Açıklama
BytesFreed win:UInt32 Serbest bayt sayısı.
ClrInstanceID win:UInt16 CoreCLR örneği için benzersiz kimlik.

GCMarkWithType 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) Bilgi (4)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
GCMarkWithType 202 GC işareti aşamasında bir GC kökü işaretlendi.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan Adı Veri türü Açıklama
HeapNum win:UInt32 Yığın numarası.
ClrInstanceID win:UInt16 CoreCLR örneği için benzersiz kimlik.
Type win:UInt32 GC kök türü.

0x0:Yığın

0x1:Sonlandırıcıyı

0x2:Işlemek

0x3:Eski

0x4: SizedRef

0x5:Taşma

Bytes win:UInt64 İşaretlenen bayt sayısı.

GCJoin_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) Ayrıntılı (5)

Aşağıdaki tabloda olay bilgileri gösterilmektedir:

Etkinlik Olay Kodu Yükseltildiğinde
GCJoin_V2 203 Bir GC iş parçacığı katıldı.

Aşağıdaki tabloda olay verileri gösterilmektedir:

Alan adı Veri türü Açıklama
Heap win:UInt32 Yığın numarası
JoinTime win:UInt32 Bu olayın bir birleştirmenin başlangıcında mı yoksa birleştirmenin sonunda mı tetiklenip tetiklenmediğini gösterir (0x0 birleştirme başlangıcı için, 0x1 birleştirme sonu için)
JoinType win:UInt32 Birleştirme türü.

0x0: Son Katılma

0x1:Katılın

0x2:Yeni -den başlatın

0x3: İlk Ters Birleştirme

0x4: Ters Birleştirme

ClrInstanceID win:UInt16 CoreCLR örneği için benzersiz kimlik.