【UEFI】---关于BIOS,EIST和PState&CState和CPU主频变化得关系

Intel处理器都支持Turbo和EIST,且通常状况下,各家厂商在BIOS中都会设置EIST和PState的开关,那么这些开关与CPU的频率的关系是什么呢?今天对此作个总结:linux

按照国际惯例,本次梳理将会解决下列问题:缓存

1. EIST是什么?服务器

2. EIST与Turbo与PState和CPU频率得关系工具

3. 如何在linux下使用Pwr工具查看CPU频率,以及Linux系统安装MSR相关的驱动接口ui

4. BIOS关闭了EIST,为什么Linux系统下CPU主频会下降?spa

 

EIST是什么?blog

EIST---全称为“Enhanced Intel SpeedStep Technology”,是Intel开发的专门为移动平台和服务器平台处理器开发的一种节电技术。它可以根据不一样的系统工做量自动调节处理器的电压和频率,以减小耗电量和发热量。这样一来,咱们就不需要大功率散热器散热,也不用担忧长时间使用电脑会不稳定,并且更加节能。接口

 

EIST与Turbo与PState的关系开发

Turbo是睿频开关,顾名思义,若是设为Enable,则CPU能够睿频运行。通常来讲,EIST做为智能降频开关,优先级较高,若是EIST设为diable,则不容许CPU节能,CPU正常运行主频应当一直在标频。Turbo为睿频开关,当EIST设为disable后则Turbo应当加灰失效。get

PState属于ACPI中得一个概念,本节不是主要介绍ACPI,所以再此很少赘述,PState标志着CPU节能等级,若是PState被设置为Enable后,则CPU将会在不一样得PState状态之间进行切换,通常应用较多得是P0-P4,后面还能够到P10。CPU在P状态之间进行切换时,CPU的频率,CPU内部核心电压,Cache缓存的数据量以及唤醒时间会有所变化,总之最终得目的亦是为了节省能耗。

EIST与Turbo和Pstate三者之间得关系:仅关注CPU主频角度来看得话,EIST是总开关,若是设为Disable则Pstate也会设为Disable,体如今BIOS中你能够看到,Pstate得开关会随着EIST得disable而加灰,意思是禁止PState。此时进入到OS后,CPU得主频应该稳定在标频运行,此时Turbo开关也会随着EIST而加灰无效,意为不可睿频,此时即便使用PTU工具加压,也只会稳定在标频。但若EIST设为Enable,状况还稍微复杂下,但也基本是反着来得。我用下面得表格加以说明:

 

如何在linux下使用Pwr工具查看CPU频率,以及Linux系统安装MSR相关的驱动接口

Linux系统下能够经过‘cat /proc/cpuinfo’命令来看CPU各个核心得频率是多少,同时Intel也提供了PTU加压与查看主频得工具包能够直接使用。以笔者使用得Broadwell De得处理器为例,在intel官网上直接下载工具包后,在Linux系统下运行便可。这里补充一个小问题,有时可能会遇到Pwr得工具没法运行,报错显示MSR得driver没有提供。以下图

 

 

针对这个问题,方法其实很简单:

  1)  查看/dev/cpu/路径下,按理来讲应该有CPU每一个core访问MSR得驱动接口才对,若是没有,能够用以下指令:

  2)  modprobe msr

  3)运行完后,再查看/dev/cpu/路径下,应该会多点什么东西,以下图:

 

 这时候再运行PWR工具便可直接运行,

 

BIOS关闭了EIST,为什么Linux系统下CPU主频会下降?

有时候可能遇到BIOS中管别EIST,此时PState也失效了,可是在系统下查看CPU主频发现,频率仍是在波动,这个是什么缘由呢?

答: Linux内核在加载得时候,有可能会把BIOS关闭得PState从新打开,致使CPU仍开启节能模式,CPU主频会波动,解决方式有两个:

  1) 若是有OS源码,直接找到这个地方,关闭便可。

  2) 在GRUB添加配置项,load OS时关闭PState便可,以笔者得为例:

    a. 在GRUB界面,选择即将加载得os选项,而后按e,进入到开机参数编辑界面

    b. 添加指令 ‘intel_pstate=disable’

                  

    c. 按下F10保存开机便可

相关文章
相关标签/搜索