因为业务要求需要把一批服务器开启CPU高性能模式,华为或者其他的服务器在OS上安装cpufrequtils包后,使用cpufreq-set -g performance命令即可开启CPU高性能模式;而DELL机型却开启失败
一、原因
DELL机型默认打开了CPU的自动变频(为了省电),并且让BIOS来控制CPU的频率和电压。
C-states是CPU的一系列特殊状态,用于在空闲状态下节省能源消耗。其中C0是CPU的基础状态。C1是轻度睡眠,CPU在不断的执行hlt指令。C1E-C6则是让CPU进入更深度的睡眠状态,并且频率和电压会降低。
二、处理过程
- DELL机型的cpuspeed默认是被禁用的,通过命令service cpuspeed status查看是stop状态
- 通过dmesg |grep cpu查询,cpu是支持频率调整的,但是没有启用
Warning:EST-capable CPU detected
- 进入BIOS进行调整,进到System Profile Settings的界面,可以看到CPU Power Manngement是System DBPM,说明CPU电源模块是由BIOS来控制的,才会出现上面两条命令查询出来状态是禁用
- CPU Power Manngement调整成OS DBPM,需要先把System Profile调整成Custom,才能调整其他项的值
- 调整C1E和C States为禁用
C-states意思为是否允许CPU进入节能状态。默认打开
C1E意思为CPU的C1E节能状态,即 speedstep。它是一种特殊的C-states,开启它会导致CPU的频率和电压动态降低。 默认打开
- 保存退出BIOS,进入系统后再查看cpuseepd的状态是ondemand
- 查看当前机器支持的模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
- 查看acpi_cpufreq模块是否有挂载
- yum装cpufreq-utils
- 设置成高性能模式(临时生效)
- 永久生效

聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏