Aracılığıyla paylaş


sys.dm_xtp_gc_queue_stats (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Sunucudaki her çöp toplama görevlisi kuyruğu hakkında bilgi ve her biri hakkında çeşitli istatistikler çıkarıyor. Mantıksal CPU başına bir kuyruk var.

Ana çöp toplama iş parçacığı (Boşta iş parçacığı), ana çöp toplama iş parçasının son çağrısından bu yana tamamlanan tüm işlemler için güncellenen, silinmiş ve eklenen satırları izler. Çöp toplama iş başlığı uyandırıldığında, en eski aktif işlemin zaman damgasının değişip değişmediğini belirler. En eski aktif işlem değiştiyse, boşta iş parçacığı, yazı kümeleri artık gerekmeyen işlemler için 16 satırlık parça halinde çalışma öğelerini sıraya alır. Örneğin, 1.024 satırı silerseniz, sonunda her biri 16 silinmiş satır içeren 64 çöp toplama işi öğesi sırada göreceksiniz. Bir kullanıcı işlemi işlem yaptıktan sonra, zamanlayıcısında sıraya giren tüm öğeleri seçer. Zamanlayıcısında sıraya giren öğeler yoksa, kullanıcı işlemi mevcut NUMA düğümündeki herhangi bir kuyrukta arama yapar.

Çöp toplamanın silinmiş satırlar için bellek boşaltıp boşaltmadığını sys.dm_xtp_gc_queue_stats çalıştırarak sıraya alınan çalışmanın işlenip işlenmediğini görebilirsiniz. Eğer current_queue_depth'daki kayıtlar işlenmiyorsa veya current_queue_depth'ye yeni bir çalışma öğesi eklenmiyorsa, bu çöp toplamanın belleği boşaltmadığının göstergesidir. Örneğin, uzun süreli bir işlem varsa çöp toplama yapılamaz.

Daha fazla bilgi için bkz. In-Memory OLTP (In-Memory İyileştirme).

Sütun adı Türü Description
queue_id int Kuyruğun benzersiz tanımlayıcısı.
total_enqueues bigint Sunucu başladığından beri bu kuyruğun içine giren çöp toplama iş öğelerinin toplam sayısı.
total_dequeues bigint Sunucu başladığından beri bu kuyruğun toplam çöp toplama iş öğesi sayısı.
current_queue_depth bigint Bu kuyruğun mevcut çöp toplama iş sayısı. Bu ürün, bir veya birden fazla çöp toplanmış olabileceğini ima edebilir.
maximum_queue_depth bigint Bu kuyruğun gördüğü maksimum derinlik.
last_service_ticks bigint Kuyruğun son servis edildiği anda CPU tık veriyor.

Permissions

VIEW SERVER STATE izni gerektirir.

SQL Server 2022 ve üzeri için izinler

Sunucuda SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.

Kullanıcı Senaryosu

Bu çıktı, SQL Server'ın ya 4 çekirdekte çalıştığını ya da SQL Server örneğinin 4 çekirdeke affinitize edildiğini gösteriyor:

Bu çıktı, kuyruklarda işlenecek iş öğesi olmadığını gösterir. 0. kuyruk için, SQL Başlangıç'ından beri kuyruktan çıkarılan toplam iş öğeleri 15625 ve maksimum kuyruk derinliği 15625'tir.

queue_id total_enqueues total_dequeues current_queue_depth  maximum_queue_depth  last_service_ticks  
----------------------------------------------------------------------------------------------------  
0        15625                15625    0                    15625                1233573168347  
1        15625                15625    0                    15625                1234123295566  
2        15625                15625    0                    15625                1233569418146  
3        15625                15625    0                    15625                1233571605761  

Ayrıca bakınız

Memory-Optimized Tablo Dinamik Yönetim Görünümleri (Transact-SQL)