Sql-Server
Perfmon ‘% Processor Time’ 計數器如何超過 100%?
計數器
Process(sqlservr)\% Processor Time
在我的一台數據庫伺服器上徘徊在 300% 左右。此計數器反映 SQL Server 在 CPU 上執行所花費的總時間百分比(使用者模式 + 特權模式)。這本書Sql Server 2008 Internals and Troubleshooting說,任何大於 80% 的東西都是一個問題。那個計數器怎麼可能超過 100%?
有兩個同名的計數器:
Process\% Processor Time
:每個處理器上的處理器時間總和
Processor(_Total)\% Processor Time
:所有處理器的總數您的問題表明您正在使用第一個計數器,這意味著它的最大值是 100% *(CPU 數量)。
因此,如果您有 4 個 CPU,則總最大值為 400%,而 80% 實際上是 (400 * 0.8 =) 320%(對於 8 個 CPU,它是 640%,等等)
該值是在 (No of Logical CPUS * 100) 的基線上計算得出的,因此這將是在超過 100 的基線上計算得出的。