情况说明
CPU支持c-state特性,在负载较低时,会降低CPU频率而实现节能。
原理介绍
c-state有C0/C1/C2....级别,其中C0为CPU正常运行状态,运行在额定频率,数字越大代表CPU节能模式越深,越节能。
在某些应用场景下,比如要求高响应和高并发的场景,开启c-state会严重影响性能,如下是c-state不同级别对应信息:
关闭节能方法
1、rhel5&&win2003
只需要关闭BIOS中的节能模式即可,bios位置—Advanced—>CPU Configuration—>CPU Power Management Configuration按照如下设置,其他主板BIOS参照设置,一般是关闭c-state并且将energy模式改为performance:
对于RHEL5系统,需要同时检查cpuspeed服务是否开启,需要关闭才可以,否则CPU频率会按照cpuspeed服务进行调整。
2、rhel6
编辑/boot/grub/grub.conf文件,在kernel行末尾添加参数intel_idle.max_cstate=0,保存重启生效。
title Red Hat Enterprise Linux AS (2.6.32_1-14-0-0)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32_1-14-0-0 ro root=/dev/sda1
crashkernel=auto intel_idle.max_cstate=0
initrd /boot/initrd-2.6.32_1-14-0-0.img
同时需要检查cpuspeed服务是否开启,需要关闭才可以,否则CPU频率会按照cpuspeed服务进行调整。
3、suse系统
编辑/boot/grub/menu.lst文件,在kernel行末尾添加参数intel_idle.max_cstate=0,保存重启生效
4、win2008
在控制面板—>硬件—>更改电源节能设置中,将改为高性能模式
5、vm系统
通过vSphere登录,选择配置——>电源管理,选择属性:
将电源策略修改为高性能。选择确定后,刷新就可以看到电源活动策略改为高性能了
6、rhel7及以上
编辑/etc/sysconfig/grub,在GRUB_CMDLINE_LINUX中添加processor.max_cstate=1
intel_idle.max_cstate=0
,并使用grub2-mkconfig写入磁盘,重启生效。例如:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap processor.max_cstate=1
intel_idle.max_cstate=0
总结
请各位根据情况选择,感谢
标签:intel,cstate,max,开启,cpu,state,关闭,idle,CPU From: https://blog.51cto.com/u_15967201/6077109