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

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

1. EIST是什么?

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

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

4. BIOS关闭了EIST,为何Linux系统下CPU主频会降低?

EIST是什么?

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

EIST与Turbo与PState的关系

Turbo是睿频开关,顾名思义,如果设为Enable,则CPU可以睿频运行。一般来说,EIST作为智能降频开关,优先级较高,如果EIST设为diable,则不允许CPU节能,CPU正常运行主频应当一直在标频。Turbo为睿频开关,当EIST设为disable后则Turbo应当加灰失效。

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保存开机即可

【UEFI】---关于BIOS,EIST和PState&CState和CPU主频变化得关系的更多相关文章

  1. BIOS设置之UEFI/Legacy BIOS切换图文详解

    近几年出现的电脑其中相当一部分都配置了UEFI BIOS,不过大多都默认以Legacy BIOS方式启动.而Win8正式上市后, 所有预装Win8(或Win8.1)的电脑都配置了UEFI BIOS并且 ...

  2. 尽可能保留原有数据,建立UEFI与BIOS双启PE优盘

    尽可能保留原有数据,建立UEFI与BIOS双启PE优盘1.确保优盘或者移动硬盘有一个FAT32分区,如果没有FAT32分区,就用傲梅分区助手或者ppm转换一个现有的分区到FAT32分区0x0C,或者新 ...

  3. surface 其实是UEFI与BIOS并存,借用官网的进入方法(少有更改)

    surface 其实是UEFI与BIOS并存,借用官网的进入方法(少有更改) 第一种: 1.       Swipe in from the right edge of the screen, and ...

  4. UEFI、BIOS、Secure Boot的关系和知识介绍

      从Windows 8操作系统时代开始,安装操作系统的方法也有了很大的改变,Windows 8采用了Secure Boot引导启动的方式,而不是过去Win XP和Win 7的Legacy启动方式,从 ...

  5. [转帖]UEFI和BIOS

    UEFI和Legacy及UEFI+Legacy启动的区别 https://www.cnblogs.com/net5x/p/6850801.html 一直给人装系统 但是连这些最基本的都不知道 感觉自己 ...

  6. Q35+uefi or bios+legacy // PCI | PCIE

    1:首先统一可扩展固件接口(UEFI)是一种规范定义操作系统和平台固件之间的软件接口. UEFI旨在替代基本输入/输出系统(BIOS)固件接口.(legacy) 硬件平台厂商越来越多地采用UEFI管理 ...

  7. 【UEFI】---BIOS中UserPassword的重复校验总结

    UEFI作为目前较为流行的一套X86架构初始化的标准框架,已受到业界内的广泛认可.而其中很多编程所采用的思想确实值得学习.今天总结下UEFI的框架下修改代码的一点小经验,仅供菜鸟参考. 先列干货,具体 ...

  8. 【UEFI】---BIOS中对Guid的使用以及Lib函数的使用总结

    ---恢复内容开始--- BIOS发展至今传统的汇编实现早已被抛弃,UEFI作为目前一套主流的标准定义接口,被广泛使用.之前被一些有关GUID和一些Lib函数的使用以及跨Pkg调用给折腾的不行,每次改 ...

  9. UEFI、BIOS、GPT、MBR等概念的辨析

    (本文转移自本人的旧博客) 从各个地方包括知乎,Wiki,CSDN搜索到的一些整理,这些概念极易混淆. 先说互相的关系 BIOS和UEFI是两种固件接口标准 MBR和GPT是两种分区表 Legacy模 ...

随机推荐

  1. SpringBoot+Thyemleaf开发环境正常,打包jar发到服务器就报错Template might not exist or might not be accessible

    网上查看了各种解决的思路,总结如下: 1. 在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式 这种情况下返回的数据t ...

  2. 最短路算法(floyed+Dijkstra+bellman-ford+SPFA)

    最短路算法简单模板 一.floyed算法 首先对于floyed算法来说就是最短路径的动态规划解法,时间复杂度为O(n^3) 适用于图中所有点与点之间的最短路径的算法,一般适用于点n较小的情况. Flo ...

  3. 高并发WEB服务的演变

    一.越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.以最简单粗暴的方式解决,就是增加 Web系统的机器和升级硬件配置.虽然 ...

  4. linux 处理器特定的寄存器

    如果你需要测量非常短时间间隔, 或者你需要非常高精度, 你可以借助平台依赖的资源, 一个要精度不要移植性的选择. 在现代处理器中, 对于经验性能数字的迫切需求被大部分 CPU 设计中内在的指令定时不 ...

  5. 【HTML/CSS】置换元素

    置换元素: 一个内容不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本身一般拥有固有尺寸(宽度,高度,宽高比)的元素,被称之为置换元素. 行内级置换和非置换元素的宽度定义 对 ...

  6. 2018-9-30-C#-传入-params-object-长度

    title author date CreateTime categories C# 传入 params object 长度 lindexi 2018-09-30 18:33:20 +0800 201 ...

  7. Vue学习笔记-基本语法

    插值文本(输出文本):{{ }}或v-textHtml(输出Html):v-html 监听属性常用于表单输入时要进行的动作watch : { dataValue:function(val) { }} ...

  8. Windows 服务安装与卸载 (通过 installutil.exe)

    1. 安装 安装 .NET Framework ; 新建文本文件,重命名为 ServiceInstall.bat,将 ServiceInstall.bat 的内容替换为: C:\\Windows\\M ...

  9. Objection基本原理

    1,Objection 的简介 就是一个依赖注入框架,github地址:https://github.com/atomicobject/objection 2,Objection 原理 3,Objec ...

  10. 微信支付-小程序H5 公众号 Payment SDK

    前言 今天是2020年一天,去年最后一个月开发了订单和支付系统,尤其在支付系统和微信对接的时候遇到了很多坑,这里给大家总结下,以免大家遇到相同的问题还浪费大量时间 微信支付前期准备 微信商户号,需要商 ...