抱歉,这是一个菜鸟问题(这不是我的常态),但我需要检查一些东西,而我的 Google-fu 让我失望了。
我有一台运行 Windows Server 2012 R2 Standard 的软件构建机器(不是虚拟机),最近运行速度开始变得非常慢。(正常构建通常在 30 分钟内完成,但现在在 5.5 小时后中止。而且服务器本身有时会暂时从网络上消失。)登录后,我在任务管理器中注意到 CPU(Intel Xeon CPU E5-1410 0 @ 2.8GHz)的速度恒定为 0.14GHz,而利用率在 1-5% 之间波动(内存为 20%,C 盘上有足够的可用空间)。这种情况持续了四天,然后自行改善。它现在的速度恒定为 1.18GHz,而利用率偶尔会达到 30% 的峰值。
我的 IT 人员来自一家外包公司,他们说速度变慢是由于这台机器上的 SQL Server 造成的(尽管我们只将此实例用作构建过程的一部分,并且我们停止了所有作业)。他们说没什么问题。
(a)这个解释合理吗?
(b) 为什么任务管理器(在非虚拟机上)没有报告 2.8GHz 的速度?
(c)我应该担心吗?
答案1
听起来像是动态处理器速度。现代处理器能够通过改变电压进行动态控制。这可以在 BIOS 中或由操作系统控制。这使得它们在不使用处理器的全部功率时产生更少的热量并消耗更少的能量。听起来你的处理器卡在了低功率状态,即使你的构建过程需要更多的处理能力。
至于是否需要担心,我建议如果这种现象再次发生,特别是如果你能找到导致它们发生的方法(你能重现这个问题吗?),那么你肯定需要更深入地进行故障排除。如果这种现象没有再次发生,那就把它归结为一个短暂事件。可能需要应用补丁并重新启动才能解决它。
答案2
Xalorous 是正确的。在 CPU 频率如此低的时候,您的 CPU 使用率是否很高?如果您需要大部分/全部 CPU 来进行构建,那么您的频率应该达到最大值(2.8Ghz 对吗?)。
这很容易测试。您可以运行您的构建,或者获取 CPU 烧录程序并观察...如果动态频率缩放不起作用并且您不想乱搞,请进入 BIOS 并禁用该功能。名称因系统而异,但我在 Intel 平台上看到它称为 Intel Speedstep。
我不知道如何在 Windows 上执行此操作,因为我通常使用 Linux,但在 Linux 中,你可以通过内核设置强制将扩展性能始终设置为 100%。我不确定 Windows 等效设置在哪里。
答案3
在重新格式化的 RAID 驱动器上从头加载 Server 2016 后,遇到了类似的问题。2012 年的 Dell R620 机箱,配备 Xeon E5-2670 2.6GHz 1600MHz FSB 和 32GB RAM。系统之前在安装 Server 2012 后运行正常。加载 Server 2016 后,系统运行速度极慢,任务管理器报告利用率为 1%,CPU 速度为 0.16GHz。
长话短说:戴尔 BIOS 性能配置文件“每瓦性能(DAPC 系统)”或“性能”能够可靠地重现该问题。
将配置文件设置为“性能功耗比(操作系统)”解决了这个问题。系统现在根据系统负载从 1.2GHz 到 3.6GHz 不等。这个盒子焕发了新的生机!