Perfmon“% Processor Time”计数器如何超过 100%?

Bil*_*zke 12 perfmon cpu-usage sql-server sql-server-2005

计数器 ,Process(sqlservr)\% Processor Time在我的一台数据库服务器上徘徊在 300% 左右。此计数器反映 SQL Server 在 CPU 上运行所花费的总时间百分比(用户模式 ​​+ 特权模式)。Sql Server 2008 Internals and Troubleshooting这本书说,超过 80% 的任何事情都是一个问题。

那个计数器怎么可能超过 100%?

Mar*_*son 24

有两个同名的计数器:

Process\% Processor Time每个处理器上的处理器时间总和

Processor(_Total)\% Processor Time:所有处理器的总数

您的问题表明您正在使用第一个计数器,这意味着它的最大值是 100% *(没有 CPU)。

所以如果你有 4 个 CPU,那么总的最大值是 400%,而 80% 实际上是 (400 * 0.8 =) 320%(对于 8 个 CPU,它是 640%,等等)

  • CPU 的数量是否包括超线程?例如,如果我的计算机是四核并且我有超线程,我应该考虑 4 进程还是 8 进程? (2认同)