sys.dm_os_linux_cpu_stats (Transact-SQL)

Berlaku untuk: SQL Server 2025 (17.x) di Linux

Mengembalikan tabel dengan statistik CPU Linux terperinci, menawarkan wawasan tingkat sistem di luar SQL Server, di SQL Server 2025 (17.x) Pembaruan Kumulatif (CU) 1 dan versi yang lebih baru.

Nama kolom Jenis data Bisa bernilai null Description
uptime_secs float Tidak. Detik sejak startup sistem.
loadavg_1min float Tidak. Jumlah pekerjaan dalam antrean eksekusi (siap atau menunggu I/O disk) selama 1 menit.
user_time_cs bigint Tidak. USER_HZ dihabiskan dalam mode pengguna.
nice_time_cs bigint Tidak. USER_HZ dihabiskan dalam mode pengguna dengan prioritas rendah (nice).
system_time_cs bigint Tidak. USER_HZ dihabiskan dalam mode sistem.
idle_time_cs bigint Tidak. USER_HZ dihabiskan dalam tugas menganggur.
iowait_time_cs bigint Tidak. USER_HZ menunggu I/O selesai.
irq_time_cs bigint Tidak. USER_HZ melayani interupsi.
softirq_time_cs bigint Tidak. USER_HZ melayani SoftIRQs.
interrupt_cnt bigint Tidak. Jumlah gangguan yang dilayankan sejak startup sistem.
csw_cnt bigint Tidak. Jumlah pengalihan konteks sejak pengaktifan sistem.
boot_time_secs bigint Tidak. Waktu boot, dalam detik sejak Unix epoch.
total_forks_cnt bigint Tidak. Jumlah fork sejak startup sistem.
proc_runable_cnt bigint Tidak. Jumlah proses dalam status dapat dijalankan.
proc_ioblocked_cnt bigint Tidak. Jumlah proses yang diblokir menunggu I/O.
C3_time bigint Tidak. Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
C2_time bigint Tidak. Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
C1_time bigint Tidak. Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
C3_count bigint Tidak. Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
C2_count bigint Tidak. Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
C1_count bigint Tidak. Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.

Permissions

VIEW SERVER PERFORMANCE STATE Memerlukan izin pada server.

Komentar

DMV ini menyediakan statistik kumulatif sejak sistem dimulai.

Nilai tidak terbatas pada aktivitas SQL Server. Mereka mencerminkan seluruh host Linux.

Untuk informasi selengkapnya tentang menginterpretasikan statistik CPU Linux, lihat proc_stat(5) halaman manual untuk distribusi Anda.

Gunakan DMV ini dengan DMV khusus Linux lainnya untuk pemantauan holistik:

Skenario penggunaan

  • Mendiagnosis saturasi CPU: Gunakan loadavg_1min, proc_runable_cnt, dan user_time_cs untuk mengidentifikasi apakah sistem berada di bawah beban CPU yang berat.

  • Menyelidiki tunggu I/O: Tinggi iowait_time_cs atau proc_ioblocked_cnt nilai dapat menunjukkan hambatan penyimpanan.

  • Menganalisis respons sistem: Pengalihan konteks yang sering (csw_cnt) atau gangguan (interrupt_cnt) dapat menandakan masalah dengan penjadwalan sistem atau perangkat keras.

  • Menghubungkan performa SQL Server dengan aktivitas sistem: Karena metrik ini bersifat seluruh sistem, metrik ini membantu Anda membedakan antara masalah tingkat OS khusus SQL Server dan yang lebih luas.

Examples

A. Statistik CPU saat ini untuk sistem

Gunakan sys.dm_os_linux_cpu_stats untuk mendapatkan statistik CPU saat ini untuk sistem. Contoh ini adalah rekam jepret satu kali yang menunjukkan sinyal umum yang sering dipantau oleh tim operasi.

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. Menghubungkan tekanan host dengan penjadwal SQL

Jalankan contoh kueri berikut untuk mendapatkan rekam jepret host.

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

Kueri berikut mengembalikan informasi tentang tekanan penjadwal SQL, tidak termasuk DAC dan penjadwal tersembunyi.

Jika penjadwal menunjukkan tinggi runnable_tasks_count dan host loadavg_1min lebih dari jumlah CPU dengan ditinggikan proc_runable_cnt, sistem kemungkinan terikat CPU. Jika SQL dapat dijalankan rendah tetapi tingkat tunggu host proc_ioblocked_cnt dan I/O tinggi, penyimpanan adalah tersangka Anda.

Nota

Metrik host memiliki lebar sistem, dan tidak terbatas pada SQL Server.

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;