ACPI cpufreq
我在排查 排查lscpu缓慢 发现国产化海光服务器启用了 acpi_cpufreq
内核模块之后,似乎出现了比较大性能问题:
cpupower
配置了performance
governor当使用
acpi-cpufreq
驱动时,处理器的主频被限制在1.20 GHz - 2.00 GHz
,可能无法达到硬件实际最高主频2.40 GHz
当出现CPU
sys
压力时,会阻塞lscpu
运行可能和 CPU空闲时间管理(CPU Idle Time Management) 缺陷有关
那么为何我升级内核(修订内核参数)的早期海光服务器会加载 acpi_cpufreq
内核模块进而启动了 acpi-cpufreq
驱动的 CPU频率 性能伸缩(Performance Scaling) 功能呢?
原因就在于:
BIOS/UEFI 配置Power Management策略
在现代服务器的 BIOS/UEFI 配置中,有关电源管理选项决定了主机是否采用 OS
控制电源管理模式:
例如 HPE ProLiant DL360 Gen9服务器 服务器,在
System configuration ---> Bios ---> Power Management
配置中,有一个Power Profile
配置项,当选择OS Control Mode
并且内核参数配置了
intel_pstate=disable
,则系统启动时就会尝试加载acpi_cpufreq
内核模块
备注
我的实践发现,如果 没有 配置 intel_pstate
选项,只要BIOS激活 OS Control Mode
的电源管理策略,也会自动加载 acpi_cpufreq
备注
如果BIOS已经激活 OS Control Mode
电源管理策略,但是要禁用 acpi_cpufreq
,就需要把 acpi_cpufreq
内核模块加入黑名单避免加载。详见 排查lscpu缓慢