我们最近通过一张票报告了一个奇怪的问题,其中运行 Windows Server 2012 的专用服务器发现 CPU 被限制在 800 MHz。客户已经尝试强制 Windows 全速运行 CPU(控制面板 > 电源选项 > 高性能)并在 BIOS 中禁用 C 状态。这些设置似乎都没有像通常那样强制 CPU 全速运行(根据最佳专用服务器性能的需要)。
专用服务器故障排除:硬件还是软件?
当出现此类问题时,首先要做的是排除这是与硬件或软件(OS/Windows)相关的问题。专用服务器被重新引导到Fedora Live DVD 中,这样原始操作系统就不会受到影响。启动到 Live DVD 后,需要检查当前频率。以 root 用户身份运行终端应用程序(打开终端后执行sudo su 切换到 root 用户)。安装内核工具 ( yum install kernel-tools ) 并使用 cpupower ( cpupower frequency-info ) 检查频率。
由于操作系统处于空闲状态,cpupower 命令报告它以 800 MHz 运行。下一步是看看我们是否可以暂时禁用 Fedora 中的限制。以下命令强制 CPU 上的所有线程全速运行:
for f in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ;做回声性能 > $f ; 完毕。
全速:专用服务器 CPU 性能
是时候看看这是否有效!运行 cpupower frequency-info 显示 CPU 现在正在全速运行。现在我们知道问题出在 Windows 而不是硬件上。经过几个小时的研究,很明显这不是一次奇怪的事件,互联网上的许多其他用户在运行 Windows 的专用服务器、台式机和笔记本电脑上都遇到了同样的问题。问题是 Windows 发现 CPU 运行非常热,并试图尽可能降低时钟速度以降低 CPU 温度。实际上,CPU 运行在非常酷的 33 摄氏度。ThrottleStop应用程序可以禁用此“ 功能”并让 CPU 以正常速度工作。下载应用程序并 取消选中“BD PROCHOT”复选框并点击保存。这将立即导致 CPU 以正常速度开始运行,而无需重新启动。
唯一的缺点是每次重新启动时都 必须设置一个,但您可以将 ThrottleStop 配置为在启动时运行并自动禁用该功能。