Sql-Server

Perfmon ‘% Processor Time’ 計數器如何超過 100%?

  • August 5, 2016

計數器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 的基線上計算得出的。

引用自:https://serverfault.com/questions/143208