Aracılığıyla paylaş


sys.dm_os_linux_cpu_stats (Transact-SQL)

Şunlar için geçerlidir: Linux üzerinde SQL Server 2025 (17.x)

SQL Server 2025 (17.x) Toplu Güncelleştirme (CU) 1 ve sonraki sürümlerinde SQL Server'ın ötesinde sistem düzeyinde içgörüler sunan ayrıntılı Linux CPU istatistiklerine sahip bir tablo döndürür.

Sütun adı Veri türü Null olabilir Description
uptime_secs float Hayı Sistem başlangıcından bu yana saniye.
loadavg_1min float Hayı Çalıştırma kuyruğundaki (disk G/Ç için hazır veya bekleyen) 1 dakikadan fazla iş sayısı.
user_time_cs bigint Hayı USER_HZ kullanıcı modunda harcandı.
nice_time_cs bigint Hayı USER_HZ düşük öncelikli (nice ) kullanıcı modunda harcandı.
system_time_cs bigint Hayı USER_HZ sistem modunda harcandı.
idle_time_cs bigint Hayı USER_HZ boştaki görevde harcanır.
iowait_time_cs bigint Hayı USER_HZ G/Ç'nin tamamlanmasını bekliyor.
irq_time_cs bigint Hayı USER_HZ hizmet kesintileri.
softirq_time_cs bigint Hayı USER_HZ SoftIRQs'a hizmet verme.
interrupt_cnt bigint Hayı Sistem başlangıcından bu yana hizmet alınan kesmelerin sayısı.
csw_cnt bigint Hayı Sistem başlangıcından bu yana bağlam anahtarı sayısı.
boot_time_secs bigint Hayı Unix döneminin üzerinden saniyeler içinde önyükleme süresi.
total_forks_cnt bigint Hayı Sistem başlangıcından bu yana çatal sayısı.
proc_runable_cnt bigint Hayı Çalıştırılabilir durumdaki işlem sayısı.
proc_ioblocked_cnt bigint Hayı G/Ç beklerken engellenen işlem sayısı.
C3_time bigint Hayı Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
C2_time bigint Hayı Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
C1_time bigint Hayı Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
C3_count bigint Hayı Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
C2_count bigint Hayı Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
C1_count bigint Hayı Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.

Permissions

VIEW SERVER PERFORMANCE STATE Sunucuda izin gerektirir.

Açıklamalar

Bu DMV, sistemin başlamasından bu yana kümülatif istatistikler sağlar.

Değerler SQL Server etkinliğiyle sınırlı değildir. Tüm Linux konaklarını yansıtır.

Linux CPU istatistiklerini yorumlama hakkında daha fazla bilgi için dağıtımınızın el ile sayfasına proc_stat(5) bakın.

Bütünsel izleme için bu DMV'yi Linux'a özgü diğer DMV'lerle kullanın:

Kullanım senaryoları

  • CPU doygunluğunu tanılama: Sistemin yoğun CPU yükü altında olup olmadığını belirlemek için , loadavg_1minve proc_runable_cnt kullanınuser_time_cs.

  • G/Ç beklemelerini araştırma: Yüksek iowait_time_cs veya proc_ioblocked_cnt değerler depolama sorunlarını gösterebilir.

  • Sistem yanıt hızını analiz etme: Sık bağlam anahtarları (csw_cnt) veya kesmeleri (interrupt_cnt), sistem zamanlama veya donanımla ilgili sorunları işaret edebilir.

  • SQL Server performansını sistem etkinliğiyle ilişkilendirin: Bu ölçümler sistem genelinde olduğundan, SQL Server'a özgü ve daha geniş işletim sistemi düzeyindeki sorunları ayırt etme konusunda size yardımcı olur.

Örnekler

A. Sistem için geçerli CPU istatistikleri

Sistem için geçerli CPU istatistiklerini almak için kullanın sys.dm_os_linux_cpu_stats . Bu örnek, operasyon ekiplerinin sık izlediği yaygın sinyalleri gösteren tek seferlik bir anlık görüntüdür.

SELECT GETDATE() AS sample_time,
       uptime_secs,
       loadavg_1min,
       proc_runable_cnt,
       proc_ioblocked_cnt,
       interrupt_cnt,
       csw_cnt,
       user_time_cs,
       system_time_cs,
       idle_time_cs,
       iowait_time_cs
FROM sys.dm_os_linux_cpu_stats;

B. Konak baskısı ile SQL zamanlayıcıları arasında bağıntı

Konak anlık görüntüsünü almak için aşağıdaki örnek sorguyu çalıştırın.

SELECT loadavg_1min,
       proc_runable_cnt,
       proc_ioblocked_cnt,
       interrupt_cnt,
       csw_cnt
FROM sys.dm_os_linux_cpu_stats;

Aşağıdaki sorgu, DAC ve gizli zamanlayıcılar hariç SQL zamanlayıcı baskısı hakkında bilgi döndürür.

Zamanlayıcılar yüksek runnable_tasks_count gösteriyorsa ve ana bilgisayar loadavg_1min yükseltilmiş proc_runable_cntcpu değerinden daha fazlaysa, sistem büyük olasılıkla CPU'ya bağlıdır. SQL çalıştırılabilir değer düşükse ancak konak proc_ioblocked_cnt ve G/Ç bekleme oranları yüksekse depolama sizin şüphelinizdir.

Uyarı

Konak ölçümleri sistem genelindedir ve SQL Server ile sınırlı değildir.

SELECT scheduler_id,
       runnable_tasks_count,
       current_tasks_count,
       work_queue_count,
       is_online,
       is_scheduler_online,
       load_factor
FROM sys.dm_os_schedulers
WHERE scheduler_id < 255;