在我的一个数据库服务器上,计数器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 以上的基线进行计算。