Perfmon % 处理器时间不平衡

Perfmon % 处理器时间不平衡

我有点偶然成为了一名 DBA,我正在对一个 SQL Server 机器进行故障排除,该机器的性能非常差(据客户报告)。我没有参与这项工作的初始规划 - 所以我在工作过程中对这台机器有了更多的了解。

受到 Brent Ozar 关于SQL Server 和 Perfmon,我认为这是一个很好的起点。我昨天才开始将 Perfmon 数据记录到 csv 中 - 所以我有大约 24 小时的 30 秒样本。我决定开始“切分”数据!

我决定首先寻找任何 CPU 瓶颈。

机器正在运行:Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz, 1900 Mhz, 6 Core(s), 12 Logical Processor(s)

我启动了 CPUz,发现 6 个内核中的每一个实际上都以 的节流频率运行1.1GHz。我已将 Windows 电源计划设置从平衡调整为高性能,但似乎没有什么变化。我认为 BIOS 可能会覆盖此设置。我必须检查一下...

无论如何,关于 Perfmon 数据...

查看Processor(x)\% Processor Time计数器(其中 x 位于 [0-11] 中),我注意到,对于Processor (2),利用率始终是其他处理器平均值的两倍。Processor (2)平均值为56%,而处理器 (1) 和 (3) 的平均值分别为 14% 和11%。处理器 (2) 的最大值达到97%。其他处理器的最大值勉强达到50%。这肯定是不平衡的,但为什么呢?我应该担心吗?

作为参考,Processor Queue length平均值为0.2,最大值为11

  1. 处理器时间不平衡百分比值得担心吗?还是我只是无缘无故地烦恼?
  2. 如果这是我需要进一步探索的东西,我应该从哪里开始?有没有一种好的方法可以跟踪处理器亲和性并查看是什么导致处理器 (2) 持续运行过高?

任何帮助,将不胜感激。

答案1

  1. 这没什么可担心的。我相信存在优化,因此可以将同一个 CPU 分配给特定进程,以便可以继续使用 CPU 内存缓存。
  2. 您是否在 BIOS 上启用了多线程?这基本上使可见的物理 CPU 核心数量增加一倍,但这些核心比主核心慢。如果您确实在使用此功能,您可以尝试禁用它。

相关内容