CN104731616A - 一种关闭Linux OS下Intel CPU节能模式的方法 - Google Patents
一种关闭Linux OS下Intel CPU节能模式的方法 Download PDFInfo
- Publication number
- CN104731616A CN104731616A CN201510132063.7A CN201510132063A CN104731616A CN 104731616 A CN104731616 A CN 104731616A CN 201510132063 A CN201510132063 A CN 201510132063A CN 104731616 A CN104731616 A CN 104731616A
- Authority
- CN
- China
- Prior art keywords
- cpu
- intel
- closing
- energy saver
- option
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明公开了一种关闭Linux OS下Intel CPU节能模式的方法,所述方法通过关闭Intel CPU支持MWAIT指令的方式,阻止CPU进入节能模式。在Intel Xeon CPU的内部的一个叫MSR 0x1A0的寄存器,将该寄存器的Bit18的值设为0,CPU就不再支持Mwait指令。本发明可以实现通过修改BIOS选项的方法方便的解决Linux OS下关闭CPU节能模式的问题。而且由于BIOS是可以批量刷新的,所以该发明方法不仅适用于数量较少的服务器还可以适用于服务器数量较大的数据中心或服务器集群。
Description
技术领域
本发明涉及服务器系统的开发与测试领域,具体涉及一种关闭Linux OS下Intel CPU节能模式的方法, 从而可以降低程序执行延迟,提升系统整体性能。
背景技术
随着X86服务器的快速发展,Intel 至强服务器处理器应用也越来越广泛,其功能及性能也在不断应和着摩尔定律持续提升。然而性能提升必然的结果就是处理器功耗的不断攀升,用户在关注CPU处理性能的同时也在关注CPU的功耗。Intel CPU为了满足不同用户的需求,提供了两种方式可以降低CPU的功耗,一种是当CPU没有太多任务要处理时,通过降低CPU频率来降低功耗,即CPU的P-States;另一种是当CPU空闲时,通过让CPU进入节能模式来降低功耗,即CPU的C-States。
当CPU进入C-States后会明显的降低CPU的功耗,但当OS有任务要执行时,CPU需要花费时间来退出节能状态。CPU进入的C-States越深,节能效果越好,同时CPU退出节能状态进入正常运行状态的时间也就越长。对于普通用户来讲,CPU的这种节能模式是非常好的,即可以在任务少时降低系统功耗,又能在有任务时自动退出节能模式进入正常工作模式。但是对于某些特别关注系统性能、要求最低延迟的业务系统来说,这种CPU节能模式是不利的。这时就会要求可以方便的把CPU的节能模式彻底关掉,让CPU一直处于正常工作状态。
一般情况下服务器系统的BIOS都在其Setup界面里面提供了用来Enable/Disable C-States的选项。但是该选项是用来通知ACPI 代码的(目前几乎所有类型的OS都是支持ACPI规范的),OS一般会根据ACPI的代码来决定是否Enable 或Disable CPU的C-States,即BIOS是通过ACPI 来通知OS当前用户是否要Enable/Disable C-States。对于Windows OS来讲,因为它是完全遵循ACPI规范的,如果BIOS Setup里面的C-States选项是Disabled,则Windows OS就会在OS里面禁止CPU进入C-States节能状态。但是在Linux OS里面并不完全遵循这一规则。在Linux OS里面有一个叫做“intel_idle”的driver,它会忽略BIOS里面对CPU C-States的控制策略,直接控制CPU的C-States开关状态。这样就造成了用户即使在BIOS Setup里面把CPU C-States设置为了Disabled,但是在Linux OS下CPU C-States还是正常工作的。
发明内容
本发明要解决的技术问题是:为了解决在Linux下不方便关闭CPU C-States节能模式的问题,本发明可以通过修改BIOS选项的方法方便的解决这一问题。而且由于BIOS是可以批量刷新的,所以该发明方法不仅适用于数量较少的服务器还可以适用于服务器数量较大的数据中心或服务器集群。
本发明所采用的技术方案为:
一种关闭Linux OS下Intel CPU节能模式的方法,所述方法通过关闭Intel CPU支持MWAIT指令的方式,阻止CPU进入节能模式。
CPU进行C-States的切换(C-States一般包括C0、C1E、C2、C3、C6等状态,C0状态是CPU的正常工作状态),是通过特定的CPU指令Mwait来实现的。当OS监测到一段时间内没有可执行的指令时,就会通过Mwait指令请求CPU进入一个特定的C-State状态,如C6状态。当OS检测到有任务需要执行时,就会请求CPU进入C0 状态,即正常工作状态。
在Intel Xeon CPU的内部的一个叫MSR 0x1A0 (IA32_MISC_ENABLES)的寄存器,将该寄存器的Bit18的值设为0,CPU就不再支持Mwait指令,Linux OS内的“intel_ilde”driver也就不再工作了。
所述方法的操作流程如下:
(1)在服务器BIOS中添加代码用来创建一个Setup选项,当该Setup选项设为Disable时,将CPU寄存器MSR 0x1A0的Bit18设置为0;
(2)把具有该选项的BIOS文件刷入到目标服务器中;
(3)用户在Linux OS下运行高性能、低延迟的业务程序时,进入BIOS Setup内把该选项设置Disable,然后保存重启。
此时在Linux OS下CPU就不会进入节能模式了。
本发明的有益效果为:本发明可以实现通过修改BIOS选项的方法方便的解决Linux OS下关闭CPU节能模式的问题。而且由于BIOS是可以批量刷新的,所以该发明方法不仅适用于数量较少的服务器还可以适用于服务器数量较大的数据中心或服务器集群。
具体实施方式
下面通过具体实施方式对本发明进一步说明:
实施例1:
一种关闭Linux OS下Intel CPU节能模式的方法,所述方法通过关闭Intel CPU支持MWAIT指令的方式,阻止CPU进入节能模式。
CPU进行C-States的切换(C-States一般包括C0、C1E、C2、C3、C6等状态,C0状态是CPU的正常工作状态),是通过特定的CPU指令Mwait来实现的。当OS监测到一段时间内没有可执行的指令时,就会通过Mwait指令请求CPU进入一个特定的C-State状态,如C6状态。当OS检测到有任务需要执行时,就会请求CPU进入C0 状态,即正常工作状态。
让CPU不能执行Mwait指令,Linux OS内的“intel_ilde”driver也就不再工作了。
实施例2:
在实施例1的基础上,本实施例在Intel Xeon CPU的内部的一个叫MSR 0x1A0 (IA32_MISC_ENABLES)的寄存器,将该寄存器的Bit18的值设为0,CPU就不再支持Mwait指令,Linux OS内的“intel_ilde”driver也就不再工作了。
实施例3:
在实施例2的基础上,本实施例所述方法的操作流程如下:
(1) 在服务器BIOS中添加代码用来创建一个Setup选项,比如叫做“Monitor/Mwait Support”,当该Setup选项设为Disable时,将CPU寄存器MSR 0x1A0的Bit18设置为0;
(2) 把具有该选项的BIOS文件刷入到目标服务器中;
(3) 用户在Linux OS下运行高性能、低延迟的业务程序时,进入BIOS Setup内把该选项“Monitor/Mwait Support”设置Disable,然后保存重启。
此时在Linux OS下CPU就不会进入节能模式了。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (3)
1.一种关闭Linux OS下Intel CPU节能模式的方法,其特征在于:所述方法通过关闭Intel CPU支持MWAIT指令的方式,阻止CPU进入节能模式。
2.根据权利要求1所述的一种关闭Linux OS下Intel CPU节能模式的方法,其特征在于:在Intel Xeon CPU的内部的一个叫MSR 0x1A0的寄存器,将该寄存器的Bit18的值设为0,CPU就不再支持Mwait指令。
3.根据权利要求2所述的一种关闭Linux OS下Intel CPU节能模式的方法,其特征在于,所述方法的操作流程如下:
1)在服务器BIOS中添加代码用来创建一个Setup选项,当该Setup选项设为Disable时,将CPU寄存器MSR 0x1A0的Bit18设置为0;
2)把具有该选项的BIOS文件刷入到目标服务器中;
3)进入BIOS Setup内把该选项设置Disable,然后保存重启。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510132063.7A CN104731616A (zh) | 2015-03-25 | 2015-03-25 | 一种关闭Linux OS下Intel CPU节能模式的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510132063.7A CN104731616A (zh) | 2015-03-25 | 2015-03-25 | 一种关闭Linux OS下Intel CPU节能模式的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104731616A true CN104731616A (zh) | 2015-06-24 |
Family
ID=53455534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510132063.7A Pending CN104731616A (zh) | 2015-03-25 | 2015-03-25 | 一种关闭Linux OS下Intel CPU节能模式的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731616A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991828A (zh) * | 2015-06-30 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | Cpu调度方法和装置 |
CN105204942A (zh) * | 2015-08-25 | 2015-12-30 | 浪潮(北京)电子信息产业有限公司 | 一种高频交易服务器的网络性能优化系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1892588A (zh) * | 2005-06-30 | 2007-01-10 | 英特尔公司 | 基于存储器访问指令生成执行指令的装置、系统和方法 |
CN101189582A (zh) * | 2004-03-30 | 2008-05-28 | 英特尔公司 | 为在虚拟机环境中单步执行虚拟机提供支持 |
CN102306048A (zh) * | 2005-12-30 | 2012-01-04 | 英特尔公司 | 用于零电压处理器休眠状态的方法和设备 |
US20120166837A1 (en) * | 2010-12-22 | 2012-06-28 | Via Technologies, Inc. | Decentralized power management distributed among multiple processor cores |
CN104376036A (zh) * | 2013-08-14 | 2015-02-25 | 英特尔公司 | 具有减少时延的分组处理的套接字管理 |
-
2015
- 2015-03-25 CN CN201510132063.7A patent/CN104731616A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101189582A (zh) * | 2004-03-30 | 2008-05-28 | 英特尔公司 | 为在虚拟机环境中单步执行虚拟机提供支持 |
CN1892588A (zh) * | 2005-06-30 | 2007-01-10 | 英特尔公司 | 基于存储器访问指令生成执行指令的装置、系统和方法 |
CN102306048A (zh) * | 2005-12-30 | 2012-01-04 | 英特尔公司 | 用于零电压处理器休眠状态的方法和设备 |
US20120166837A1 (en) * | 2010-12-22 | 2012-06-28 | Via Technologies, Inc. | Decentralized power management distributed among multiple processor cores |
CN104376036A (zh) * | 2013-08-14 | 2015-02-25 | 英特尔公司 | 具有减少时延的分组处理的套接字管理 |
Non-Patent Citations (2)
Title |
---|
GODOFPUMPKINS: "通过使用IA32_MISC_ENABLES MSR来禁用Mwait指令?", 《HTTPS://SOFTWARE.INTEL.COM/ZH-CN/FORUMS/INTEL-ISA-EXTENSIONS/TOPIC/298276》 * |
富士通: "富士通服务器PRIMERGY基于Xeon E5-2600 v2的BIOS优化系统白皮书", 《HTTPS://SP.TS.FUJITSU.COM/DMSP/PUBLICATIONS/PUBLIC/WP-IVY-BRIDGE-BIOS-SETTINGS-PRIMERGY-WW-EN.PDF》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991828A (zh) * | 2015-06-30 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | Cpu调度方法和装置 |
CN105204942A (zh) * | 2015-08-25 | 2015-12-30 | 浪潮(北京)电子信息产业有限公司 | 一种高频交易服务器的网络性能优化系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664039B2 (en) | Power efficient processor architecture | |
TWI443504B (zh) | 多核心處理器系統及其動態電源管理方法與控制裝置 | |
RU2010139638A (ru) | Энергосберегающее планирование потоков и динамическое использование процессоров | |
TWI453580B (zh) | 用於一異質性電腦系統之橋接邏輯裝置 | |
US9329658B2 (en) | Block-level sleep logic | |
GB2512492A (en) | Platform agnostic power management | |
US20160077576A1 (en) | Technologies for collaborative hardware and software scenario-based power management | |
KR102060431B1 (ko) | 멀티 코어 시스템의 전력 관리 장치 및 방법 | |
EP2846217B1 (en) | Controlling reduced power states using platform latency tolerance | |
CN104731616A (zh) | 一种关闭Linux OS下Intel CPU节能模式的方法 | |
CN104267796A (zh) | 一种服务器电源智能冗余架构的设计方法 | |
EP2804075B1 (en) | Controlling power consumption of a processor using interrupt-mediated on-off keying | |
CN105022469A (zh) | 便携式电子装置及其内核交换方法 | |
KR101463533B1 (ko) | 모바일 장치에서의 비대칭 멀티 프로세서 코어 스케줄링 방법 및 모바일 장치 | |
US20180341482A1 (en) | Method and arrangement for utilization of a processing arrangement | |
Eibel et al. | Empya: Saving energy in the face of varying workloads | |
CN104375619A (zh) | 单片机系统低功耗设计方法 | |
Ramesh et al. | An Analysis on Energy Efficient System Design in Grid Computing | |
GB2537300A (en) | Power efficient processor architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150624 |
|
RJ01 | Rejection of invention patent application after publication |