在我的机器上,我在 BIOS 上禁用了省电功能。当我在这台机器上运行 Ubuntu 时,CPU 的最大运行频率为 2100 MHz。
然而,当我运行 CentOS 7 时,即使将缩放调节器设置为“性能”,CPU 也无法在 2100 MHz 下满负荷运行。
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
performance
performance
performance
performance
grep -i mhz /proc/cpuinfo
cpu MHz : 1688.285
cpu MHz : 2058.656
cpu MHz : 1622.988
cpu MHz : 2070.632
我的应用程序是一个网络处理应用程序,因此 CPU 时钟差异导致了性能差异。
我没有运行 cpuspeed、powerd 或任何其他电源调节服务。
所以我的问题是,考虑到 cpupower 设置为“执行”,这是预期的行为吗? CentOS 似乎覆盖了 BIOS 设置。
当我启动到 Ubuntu 时,它只需要 BIOS 设置并且所有 CPU 都以最大速度运行。
答案1
我找到的解决方案是在 grub 中禁用 intel pstate
答案2
对于 Centos/redhat,我强烈建议使用tuned 守护进程来管理电源状态。您可以使用 yum installtuned 来安装它听起来像您想要的:
tuned-adm profile latency-performance