Intel Turbo Boost技术和intel_pstate

Intel Turbo Boost

Intel Turbo Boost 是Intel在Xeon系列处理器实现的技术,通过动态控制处理器的时钟率来激活处理器运行在超过基础操作主频。

支持不同Turbo Boost版本技术的处理器分为:

  • Turbo Boost 1.0: Nehalem

  • Turbo Boost 2.0: Sandby Bridge

  • Turbo Boost Max 3.0: Ivy Bridge, Haswell, Broadwell, Skylake, Broadwell-E

Turo Boost是在操作系统请求处理器的最高性能状态(highest performance state, pstate)时候激活。

处理器性能状态是通过高级配置和电源接口(Advanced Configuration and Power Interface, ACPI)规范来定义的,这是被所有主流操作系统所支持的开放标准。在Turbo Boost背后的设计概念也被称为 动态超频

时钟主频是由处理器电压,电流和热量所限制的,同时也受到当前CPU核心数量和激活核心的最高主频限制。当处理器上负载调用更快性能,并且此时处理器还没有达到上限,则处理器时钟将增加操作频率以满足需求。频率增长,在Nehalem处理器是133MHz,而在Sand Bridge, Ivy Bridge,Haswell和Skylake处理器是100MHz。

Intel Turbo Boost监控处理器当期使用情况,以及处理器是否接近最大 热量设计功率 (thermal design power, TDP)。这个TDP是处理器支持的最大功率。

配置实践

服务器BIOS

操作系统内核

  • 修改 /etc/default/grub 配置行 GRUB_CMDLINE_LINUX 添加:

    GRUB_CMDLINE_LINUX_DEFAULT="... intel_pstate=enable processor.max_cstate=1 intel_idle.max_cstate=1"
    
  • 更新grub:

    sudo update-grub
    
  • 使用 kexec 快速切换内核:

    kexec -l /boot/vmlinuz-5.4.0-126-generic --initrd=/boot/initrd.img-5.4.0-126-generic
    systemctl kexec
    
  • 重启系统后,执行 CPU频率调节器 切换:

    cpupower frequency-set -g performance
    

备注

我最终还是放弃了 performacne ,原因是默认高性能运行会导致 HPE ProLiant DL360 Gen9服务器 的散热风扇高速运转,噪音无法忍受。而使用 powersave 则非常安静,所以最终日常还是使用 powersave governor。

参考