Perfmon 的“% 处理器时间”计数器怎么会超过 100%?

Perfmon 的“% 处理器时间”计数器怎么会超过 100%?

在我的一个数据库服务器上,计数器Process(sqlservr)\% Processor Time徘徊在 300% 左右。此计数器反映了 SQL Server 在 CPU 上运行的总时间百分比(用户模式 ​​+ 特权模式)。这本书,Sql Server 2008 内部原理及故障排除,表示任何超过 80% 的情况都是问题。

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

答案1

有两个同名的计数器:

Process\% Processor Time: 这处理器时间每个处理器

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

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

因此,如果您有 4 个 CPU,那么总最大值为 400%,而 80% 实际上是 (400 * 0.8 =) 320%(对于 8 个 CPU,则是 640%,等等)

答案2

该值是根据 (逻辑 CPU 数量 * 100) 的基线计算得出的,因此,这将根据 100 以上的基线进行计算。

相关内容