Sql-Server
sys.dm_os_ring_buffers 中的 CPU 使用率不正確
我正在使用 SQL Server 實例執行雲 VPS。因為它是供個人使用的,所以我使用的是速成版(我不能使用開發者版,因為從技術上講,我在上面執行了生產應用程序,而且我買不起 Standard+)。
我正在嘗試使用Brent Ozar 的教程使用
sp_BlitzFirst
. 我遇到的問題是,無論當時的實際 CPU 使用率如何,ProcessUtilization
insys.dm_os_ring_buffers
總是以 形式出現。100
虛擬機資訊
@@version: Microsoft SQL Server 2017 (RTM-CU15) (KB4498951) - 14.0.3162.1 (X64) 2019 年 5 月 15 日 19:14:30 版權所有 (C) 2017 Microsoft Corporation Express Edition (64-bit) on Linux (Ubuntu 18.04) .2 LTS)
主機: 1 & 1 Ionos VPS
lscpu 輸出
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 2 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 63 Model name: Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz Stepping: 0 CPU MHz: 2194.844 BogoMIPS: 4389.68 Hypervisor vendor: VMware Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 1024K L3 cache: 19712K NUMA node0 CPU(s): 0,1 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat flush_l1d arch_capabilities
微軟表示DMV(環形緩衝區)不適用於 SQL Server 2017,僅適用於 2019:
Sys.dm_os_ring_buffers DMV 一直是用於通過內置工具以及第三方監控實用程序監控 SQL Server 的關鍵 DMV。當 SQL Server 2017 在 Linux 上發佈時,不幸的是,這個 DMV 沒有通過 SQL Server 程序返回正確的 CPU 使用資訊。SQL Server 團隊很高興地宣布,從 SQL Server 2019 候選版本開始,sys.dm_os_ring_buffers DMV 會正確返回 SQL CPU 使用率。