Bagikan melalui


Acara ETW Pengumpulan Sampah

Peristiwa ini mengumpulkan informasi yang berkaitan dengan pengumpulan sampah. Mereka membantu dalam diagnostik dan penelusuran kesalahan, termasuk menentukan berapa kali pengumpulan sampah dilakukan, berapa banyak memori yang dibebaskan selama pengumpulan sampah, dan sebagainya.

Kategori ini terdiri dari peristiwa berikut:

GCStart_V1 Event

Tabel berikut menunjukkan kata kunci dan level. Untuk informasi selengkapnya, lihat Kata Kunci dan Tingkat ETW CLR.

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCStart_V1 1 Pengumpulan sampah telah dimulai.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
Hitung win:UInt32 Pengumpulan sampah nth.
Kedalaman win:UInt32 Generasi yang sedang dikumpulkan.
Alasan win:UInt32 Mengapa pengumpulan sampah dipicu:

0x0 - Alokasi tumpukan objek kecil.

0x1 - Diinduksi.

0x2 - Memori rendah.

0x3 - Kosong.

0x4 - Alokasi tumpukan objek besar.

0x5 - Kehabisan ruang (untuk tumpukan objek kecil).

0x6 - Kehabisan ruang (untuk tumpukan objek besar).

0x7 - Diinduksi tetapi tidak dipaksa sebagai pemblokiran.

0x8 - Pengujian tekanan.

0x9 - Utas finalizer mengamati prosesnya dalam memori rendah dan menginduksi GC.

0x10 - Kode pengguna menginduksi GC dan memintanya menjadi GC yang memadatkan.
Jenis win:UInt32 0x0 - Pemblokiran pengumpulan sampah terjadi di luar pengumpulan sampah latar belakang.

0x1 - Pengumpulan sampah latar belakang.

0x2 - Pemblokiran pengumpulan sampah terjadi selama pengumpulan sampah latar belakang.
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.

GCEnd_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCEnd_V1 2 Pengumpulan sampah telah berakhir.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
Hitung win:UInt32 Pengumpulan sampah nth.
Kedalaman win:UInt32 Generasi yang dikumpulkan.
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.

GCHeapStats_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Deskripsi
GCHeapStats_V1 4 Menunjukkan statistik tumpukan di akhir setiap pengumpulan sampah.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
GenerationSize0 win:UInt64 Ukurannya, dalam byte, memori generasi 0.
TotalPromotedSize0 win:UInt64 Jumlah byte yang dipromosikan dari generasi 0 ke generasi 1.
GenerationSize1 win:UInt64 Ukurannya, dalam byte, memori generasi 1.
TotalPromotedSize1 win:UInt64 Jumlah byte yang dipromosikan dari generasi 1 ke generasi 2.
GenerationSize2 win:UInt64 Ukurannya, dalam byte, memori generasi 2.
TotalPromotedSize2 win:UInt64 Jumlah byte yang bertahan di generasi 2 setelah koleksi terakhir.
GenerationSize3 win:UInt64 Ukuran, dalam byte, dari tumpukan objek besar.
TotalPromotedSize3 win:UInt64 Jumlah byte yang bertahan di tumpukan objek besar setelah koleksi terakhir.
FinalizationPromotedSize win:UInt64 Ukuran total, dalam byte, dari objek yang siap untuk finalisasi.
FinalizationPromotedCount win:UInt64 Jumlah objek yang siap untuk finalisasi.
PinnedObjectCount win:UInt32 Jumlah objek yang disematkan (tidak dapat dipindahkan).
SinkBlockCount win:UInt32 Jumlah blok sinkronisasi yang digunakan.
GCHandleCount win:UInt32 Jumlah handel pengumpulan sampah yang digunakan.
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.

GCHeapStats_V2 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Deskripsi
GCHeapStats_V2 4 Menunjukkan statistik tumpukan di akhir setiap pengumpulan sampah.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
GenerationSize0 win:UInt64 Ukurannya, dalam byte, memori generasi 0.
TotalPromotedSize0 win:UInt64 Jumlah byte yang dipromosikan dari generasi 0 ke generasi 1.
GenerationSize1 win:UInt64 Ukurannya, dalam byte, memori generasi 1.
TotalPromotedSize1 win:UInt64 Jumlah byte yang dipromosikan dari generasi 1 ke generasi 2.
GenerationSize2 win:UInt64 Ukurannya, dalam byte, memori generasi 2.
TotalPromotedSize2 win:UInt64 Jumlah byte yang bertahan di generasi 2 setelah koleksi terakhir.
GenerationSize3 win:UInt64 Ukuran, dalam byte, dari tumpukan objek besar.
TotalPromotedSize3 win:UInt64 Jumlah byte yang bertahan di tumpukan objek besar setelah koleksi terakhir.
FinalizationPromotedSize win:UInt64 Ukuran total, dalam byte, dari objek yang siap untuk finalisasi.
FinalizationPromotedCount win:UInt64 Jumlah objek yang siap untuk finalisasi.
PinnedObjectCount win:UInt32 Jumlah objek yang disematkan (tidak dapat dipindahkan).
SinkBlockCount win:UInt32 Jumlah blok sinkronisasi yang digunakan.
GCHandleCount win:UInt32 Jumlah handel pengumpulan sampah yang digunakan.
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.
GenerationSize4 win:UInt64 Ukuran, dalam byte, dari tumpukan objek yang disematkan.
TotalPromotedSize4 win:UInt64 Jumlah byte yang bertahan dalam tumpukan objek yang disematkan setelah koleksi terakhir.

GCCreateSegment_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCCreateSegment_V1 5 Segmen pengumpulan sampah baru telah dibuat. Selain itu, saat pelacakan diaktifkan pada proses yang sudah berjalan, peristiwa ini dimunculkan untuk setiap segmen yang ada.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
Alamat win:UInt64 Alamat segmen.
Ukuran win:UInt64 Ukuran segmen.
Jenis win:UInt32 0x0 - Tumpukan objek kecil.

0x1 - Tumpukan objek besar.

0x2 - Tumpukan baca-saja.
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.

Perhatikan bahwa ukuran segmen yang dialokasikan oleh pengumpul sampah khusus implementasi dan dapat berubah kapan saja, termasuk dalam pembaruan berkala. Aplikasi Anda tidak boleh membuat asumsi tentang atau bergantung pada ukuran segmen tertentu, juga tidak boleh mencoba mengonfigurasi jumlah memori yang tersedia untuk alokasi segmen.

GCFreeSegment_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCFreeSegment_V1 6 Segmen pengumpulan sampah telah dirilis.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
Alamat win:UInt64 Alamat segmen.
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.

GCRestartEEBegin_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCRestartEEBegin_V1 7 Dimulai kembali dari penangguhan runtime bahasa umum telah dimulai.

Tidak ada data peristiwa.

GCRestartEEEnd_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian Id peristiwa Dimunculkan ketika
GCRestartEEEnd_V1 3 Dimulai kembali dari penangguhan runtime bahasa umum telah berakhir.

Tidak ada data peristiwa.

GCSuspendEE_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCSuspendEE_V1 9 Mulai penangguhan mesin eksekusi untuk pengumpulan sampah.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
Alasan win:UInt16 0x0 - Lainnya.

0x1 - Pengumpulan sampah.

0x2 - Matikan domain aplikasi.

0x3 - Pitching kode.

0x4 - Matikan.

0x5 - Debugger.

0x6 - Persiapan pengumpulan sampah.
Hitung win:UInt32 Jumlah GC pada saat itu. Biasanya, Anda akan melihat peristiwa Mulai GC berikutnya setelah ini, dan Jumlahnya akan menjadi Hitungan + 1 ini saat kami meningkatkan indeks GC selama pengumpulan sampah.
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.

GCSuspendEEEnd_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCSuspendEEEnd_V1 8 Akhir penangguhan mesin eksekusi untuk pengumpulan sampah.

Tidak ada data peristiwa.

GCAllocationTick_V2 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCAllocationTick_V2 10 Setiap kali sekitar 100 KB dialokasikan per timbunan objek. Artinya, SOH, LOH, dan POH mengakumulasi byte yang dialokasikan secara terpisah. Di Server GC, ini dilakukan per timbunan.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
AllocationAmount win:UInt32 Ukuran alokasi, dalam byte. Nilai ini akurat untuk alokasi yang kurang dari panjang ULONG (4.294.967.295 byte). Jika alokasi lebih besar, bidang ini berisi nilai terpotong. Gunakan AllocationAmount64 untuk alokasi yang sangat besar.
AllocationKind win:UInt32 0x0 - Alokasi objek kecil (alokasi berada dalam tumpukan objek kecil).
0x1 - Alokasi objek besar (alokasi berada dalam tumpukan objek besar).
0x2 - Alokasi objek yang disematkan (alokasi berada dalam timbunan objek yang disematkan).
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.
AllocationAmount64 win:UInt64 Ukuran alokasi, dalam byte. Nilai ini akurat untuk alokasi yang sangat besar.
TypeId win:Pointer Alamat MethodTable. Ketika ada beberapa jenis objek yang dialokasikan selama peristiwa ini, ini adalah alamat MethodTable yang sesuai dengan objek terakhir yang dialokasikan (objek yang menyebabkan ambang 100 KB terlampaui).
TypeName win:UnicodeString Nama jenis yang dialokasikan. Ketika ada beberapa jenis objek yang dialokasikan selama peristiwa ini, ini adalah jenis objek terakhir yang dialokasikan (objek yang menyebabkan ambang 100 KB terlampaui).
HeapIndex win:UInt32 Tumpukan tempat objek dialokasikan. Nilai ini adalah 0 (nol) saat berjalan dengan pengumpulan sampah stasiun kerja.

GCAllocationTick_V3 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCAllocationTick_V2 10 Setiap kali sekitar 100 KB dialokasikan per timbunan objek. Artinya, SOH, LOH, dan POH mengakumulasi byte yang dialokasikan secara terpisah. Di Server GC, ini dilakukan per timbunan.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
AllocationAmount win:UInt32 Ukuran alokasi, dalam byte. Nilai ini akurat untuk alokasi yang kurang dari panjang ULONG (4.294.967.295 byte). Jika alokasi lebih besar, bidang ini berisi nilai terpotong. Gunakan AllocationAmount64 untuk alokasi yang sangat besar.
AllocationKind win:UInt32 0x0 - Alokasi objek kecil (alokasi berada dalam tumpukan objek kecil).
0x1 - Alokasi objek besar (alokasi berada dalam tumpukan objek besar).
0x2 - Alokasi objek yang disematkan (alokasi berada dalam timbunan objek yang disematkan).
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.
AllocationAmount64 win:UInt64 Ukuran alokasi, dalam byte. Nilai ini akurat untuk alokasi yang sangat besar.
TypeId win:Pointer Alamat MethodTable. Ketika ada beberapa jenis objek yang dialokasikan selama peristiwa ini, ini adalah alamat MethodTable yang sesuai dengan objek terakhir yang dialokasikan (objek yang menyebabkan ambang 100 KB terlampaui).
TypeName win:UnicodeString Nama jenis yang dialokasikan. Ketika ada beberapa jenis objek yang dialokasikan selama peristiwa ini, ini adalah jenis objek terakhir yang dialokasikan (objek yang menyebabkan ambang 100 KB terlampaui).
HeapIndex win:UInt32 Tumpukan tempat objek dialokasikan. Nilai ini adalah 0 (nol) saat berjalan dengan pengumpulan sampah stasiun kerja.
Alamat win:Pointer Alamat objek terakhir yang dialokasikan.

GCFinalizersBegin_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCFinalizersBegin_V1 14 Awal menjalankan finalizer.

Tidak ada data peristiwa.

GCFinalizersEnd_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCFinalizersEnd_V1 13 Akhir menjalankan finalizer.

Tabel berikut memperlihatkan data peristiwa:

Nama bidang Jenis data Deskripsi
Hitung win:UInt32 Jumlah finalizer yang dijalankan.
ClrInstanceID win:UInt16 ID unik untuk instans CLR atau CoreCLR.

GCCreateConcurrentThread_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)
ThreadingKeyword (0x10000) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCCreateConcurrentThread_V1 11 Utas pengumpulan sampah bersamaan dibuat.

Tidak ada data peristiwa.

GCTerminateConcurrentThread_V1 Event

Tabel berikut memerlihatkan kata kunci dan tingkat:

Kata kunci untuk meningkatkan peristiwa Tingkat
GCKeyword (0x1) Informasional (4)
ThreadingKeyword (0x10000) Informasional (4)

Tabel berikut memperlihatkan informasi peristiwa:

Kejadian ID Peristiwa Dimunculkan ketika
GCTerminateConcurrentThread_V1 12 Utas pengumpulan sampah bersamaan dihentikan.

Tidak ada data peristiwa.

Lihat juga