CN104991828A - Cpu调度方法和装置 - Google Patents
Cpu调度方法和装置 Download PDFInfo
- Publication number
- CN104991828A CN104991828A CN201510373378.0A CN201510373378A CN104991828A CN 104991828 A CN104991828 A CN 104991828A CN 201510373378 A CN201510373378 A CN 201510373378A CN 104991828 A CN104991828 A CN 104991828A
- Authority
- CN
- China
- Prior art keywords
- cpu
- idle
- task
- kernel
- armed state
- 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
Landscapes
- Power Sources (AREA)
Abstract
本发明提供了一种CPU调度方法和装置。涉及Linux操作***;解决了CPU响应时间长的问题。该方法包括:在CPU检测不到请求处理的任务时,进入待命状态,持续运行;在检测到任务请求时,即刻响应该任务请求。本发明提供的技术方案适用于CPU调度管理,实现了CPU在工作中不自动切换睡眠状态,而是一直处于工作状态中。
Description
技术领域
本发明涉及Linux操作***,尤其涉及一种CPU调度方法和装置。
背景技术
在一些***应用环境中,当最初布置好的应用环境没有做优化调整时,CPU会在检测完无请求处理的任务后,进入睡眠状态,即C1-C6状态。这样,当有对CPU调度响应时间要求较高的应用程序或测试性软件请求CPU处理时,则首先需要将CPU从睡眠状态中唤醒。这样势必造成了对于响应时间的拖延,导致最终的性能表现因为响应时间长而偏低。
发明内容
本发明提供了一种CPU调度方法和装置,解决了CPU响应时间长的问题。
一种CPU调度方法,包括:
在CPU检测不到请求处理的任务时,进入待命状态,持续运行;
在检测到任务请求时,即刻响应该任务请求。
优选的,该方法还包括:
在grub文件中设置idle参数的值为nomwait,以指示CPU在产生idle进程时进入待命状态。
优选的,在CPU检测不到请求处理的任务时,进入待命状态,持续运行包括:
读取grub文件中的内核镜像开始加载;
在内核启动后,开始调用cpu_idle()产生idle进程,根据idle参数的值nomwait生效,CPU进入待命状态。
本发明还提供了一种CPU调度装置,包括:
状态管理模块,用于在CPU检测不到请求处理的任务时,进入待命状态,持续运行;
处理模块,用于在检测到任务请求时,即刻响应该任务请求。
优选的,该装置还包括:
配置模块,用于在grub文件中设置idle参数的值为nomwait,以指示CPU在产生idle进程时进入待命状态。
优选的,所述状态管理模块包括:
镜像加载单元,用于读取grub文件中的内核镜像开始加载;
状态切换单元,用于在内核启动后,开始调用cpu_idle()产生idle进程,根据idle参数的值nomwait生效,CPU进入待命状态。
本发明提供了一种CPU调度方法和装置,在CPU检测不到请求处理的任务时,进入待命状态,持续运——在检测到任务请求时,即刻响应该任务请求。实现了CPU在工作中不自动切换睡眠状态,而是一直处于工作状态中,解决了CPU响应时间长的问题。
附图说明
图1为本发明的实施例一提供的一种CPU调度方法的流程图;
图2为操作***启动顺序及内核参数设置生效的流程图;
图3为本发明的实施例二提供的一种CPU调度装置的结构示意图;
图4为图3中状态管理模块301的结构示意图。
具体实施方式
当有对CPU调度响应时间要求较高的应用程序或测试性软件请求CPU处理时,则首先需要将CPU从睡眠状态中唤醒。这样势必造成了对于响应时间的拖延,导致最终的性能表现因为响应时间长而偏低。针对此问题,本发明的实施例提供了一种CPU调度方法和装置,通过优化内核进程idle的设置参数为nomwait,使得CPU时刻处于待命状态,而不进入睡眠状态,从而缩短响应时间,提升性能表现。
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明的实施例提供了一种linux***下优化cpu power内核参数提升服务器性能的CPU调度方法和装置,在服务器整体性能中,能够影响其性能发挥的除了硬件层面外,在linux***下通过调节内核参数,也可使服务器整体性能得到提升。通过服务器整体性能测试验证发现,硬件层面对性能影响较大的一项为CPU的电源模式。由于性能与功耗的反比关系,在要求性能最高的情况下,我们往往会将CPU电源c-state选项设置为disable,即不使用节能状态。硬件设置生效最终由***运行测试体现,而linux内核通过ACPI接口,负责与硬件进行交互传递硬件设置信息给***。将c-state相关的内核文件参数做相应的优化设置后,将能使***的性能得到较好的提升。
Linux内核参数的设置可以影响硬件设置参数后的性能表现,因此内核参数的设置则是影响性能表现的关键。本发明的实施例主要是对CPU电源c-state模式的调节,使CPU在工作中不自动切换睡眠状态,而是一直处于工作状态中。在性能程序测试时,CPU都能够在第一时间响应程序的请求,节约处理时间,达到提升性能的目标。而实现CPU不进入睡眠的方法,就是通过内核进程idle的参数调节,即将idle的参数调节成nomwait状态,就是使CPU一直处于待命状态。
由于idle进程的前身在linux操作***启动时的0号进程,当PID=0进程调用了cpu_idle()后就产生idle进程。因此,对于内核进程idle参数的设置,就在grub文件中设置,来保证参数设置的生效。
首先结合附图,对本发明的实施例一进行说明。
本发明实施例提供了一种CPU调度方法,使用该方法完成CPU管理的流程如图1所示,包括:
步骤101、在grub文件中设置idle参数的值为nomwait,以指示CPU在产生idle进程时进入待命状态。
针对/boot/grub.conf文件在加载内核之后的一行,加入要设置的参数idle=nomwait。
步骤102、重启操作***。
由于执行grub文件是在操作***刚启动时完成的,因此在设置完idle内核参数后,需要将机器重新启动,保证内核参数设置生效。
操作***重启后,通过MBR中的boot loader读取grub中的内核镜像开始加载。
步骤103、在CPU检测不到请求处理的任务时,进入待命状态,持续运行。
内核启动后,PID=0号进程在内核完成第一步调用之后,开始调用cpu_idle()产生idle进程,至此idle=nomwait的参数生效,由内核传递给BIOS,之后再由BIOS传递给CPU。
步骤104、在检测到任务请求时,即刻响应该任务请求。
通过以上过程后,CPU的状态被设置成了一直处于运行态。即使CPU当前无任务,也会一直处于待命状态,以保证有任务程序请求时,第一时间响应,从而节省了响应延迟时间,提升整体***的性能。
操作***启动顺序及内核参数设置生效的流程如图2所示。虚线箭头线表示idle设置的内核参数通过内核传递给BIOS,由BIOS控制参数生效。与BIOS相连的CPU处箭头线,在POST自检中与内存等其他硬件同样自检。
下面结合附图,对本发明的实施例二进行说明。
本发明实施例提供了一种CPU调度装置,其结构如图3所示,包括:
状态管理模块301,用于在CPU检测不到请求处理的任务时,进入待命状态,持续运行;
处理模块302,用于在检测到任务请求时,即刻响应该任务请求。
优选的,该装置还包括:
配置模块303,用于在grub文件中设置idle参数的值为nomwait,以指示CPU在产生idle进程时进入待命状态。
优选的,状态管理模块301的结构如图4所示,包括:
镜像加载单元3011,用于读取grub文件中的内核镜像开始加载;
状态切换单元3012,用于在内核启动后,开始调用cpu_idle()产生idle进程,根据idle参数的值nomwait生效,CPU进入待命状态。
本发明的实施例提供了一种CPU调度方法和装置,在CPU检测不到请求处理的任务时,进入待命状态,持续运——在检测到任务请求时,即刻响应该任务请求。实现了CPU在工作中不自动切换睡眠状态,而是一直处于工作状态中,解决了CPU响应时间长的问题。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如***、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (6)
1.一种CPU调度方法,其特征在于,包括:
在CPU检测不到请求处理的任务时,进入待命状态,持续运行;
在检测到任务请求时,即刻响应该任务请求。
2.根据权利要求1所述的CPU调度方法,其特征在于,该方法还包括:
在grub文件中设置idle参数的值为nomwait,以指示CPU在产生idle进程时进入待命状态。
3.根据权利要求2所述的CPU调度方法,其特征在于,在CPU检测不到请求处理的任务时,进入待命状态,持续运行包括:
读取grub文件中的内核镜像开始加载;
在内核启动后,开始调用cpu_idle()产生idle进程,根据idle参数的值nomwait生效,CPU进入待命状态。
4.一种CPU调度装置,其特征在于,包括:
状态管理模块,用于在CPU检测不到请求处理的任务时,进入待命状态,持续运行;
处理模块,用于在检测到任务请求时,即刻响应该任务请求。
5.根据权利要求4所述的CPU调度装置,其特征在于,该装置还包括:
配置模块,用于在grub文件中设置idle参数的值为nomwait,以指示CPU在产生idle进程时进入待命状态。
6.根据权利要求4所述的CPU调度装置,其特征在于,所述状态管理模块包括:
镜像加载单元,用于读取grub文件中的内核镜像开始加载;
状态切换单元,用于在内核启动后,开始调用cpu_idle()产生idle进程,根据idle参数的值nomwait生效,CPU进入待命状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510373378.0A CN104991828A (zh) | 2015-06-30 | 2015-06-30 | Cpu调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510373378.0A CN104991828A (zh) | 2015-06-30 | 2015-06-30 | Cpu调度方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104991828A true CN104991828A (zh) | 2015-10-21 |
Family
ID=54303644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510373378.0A Pending CN104991828A (zh) | 2015-06-30 | 2015-06-30 | Cpu调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104991828A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770620A (zh) * | 2017-09-21 | 2018-03-06 | 广州视源电子科技股份有限公司 | 请求信息响应方法、***及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141920B (zh) * | 2010-01-28 | 2014-04-02 | 华为技术有限公司 | 一种动态配置C-State方法和通信设备 |
CN104731616A (zh) * | 2015-03-25 | 2015-06-24 | 浪潮集团有限公司 | 一种关闭Linux OS下Intel CPU节能模式的方法 |
-
2015
- 2015-06-30 CN CN201510373378.0A patent/CN104991828A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141920B (zh) * | 2010-01-28 | 2014-04-02 | 华为技术有限公司 | 一种动态配置C-State方法和通信设备 |
CN104731616A (zh) * | 2015-03-25 | 2015-06-24 | 浪潮集团有限公司 | 一种关闭Linux OS下Intel CPU节能模式的方法 |
Non-Patent Citations (1)
Title |
---|
富士通: "富士通服务器PRIMERGY基于Xeon E5-2600 v2 的BIOS优化******", 《HTTP://SP.TS.FUJITSU.CON/DMSP/PUBLICATIONS/PUBLIC/WP-IVY-BRIDGE-BIOS-SETTINGS-PRIMERGY-WW-EN.PDF》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770620A (zh) * | 2017-09-21 | 2018-03-06 | 广州视源电子科技股份有限公司 | 请求信息响应方法、***及可读存储介质 |
CN107770620B (zh) * | 2017-09-21 | 2020-10-30 | 广州视源电子科技股份有限公司 | 请求信息响应方法、***及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5497923B2 (ja) | システム管理モードにおけるプロセッサ間割り込みの再方向付け | |
US8752060B2 (en) | Multi-CPU domain mobile electronic device and operation method thereof | |
US8230237B2 (en) | Pre-boot environment power management | |
US10579132B2 (en) | System and method for performing distributed power management without power cycling hosts | |
US8898495B2 (en) | Method and apparatus for switching an operating system by determining whether a boot-up mode is a general mode or a switch mode | |
US8780389B2 (en) | Image processing device for modifying operating mode | |
CN107947946B (zh) | 供电设备、以太网供电方法与装置 | |
JP2013513189A (ja) | 仮想化されたシステムにおける中央処理装置電力を制御するためのシステムおよび方法 | |
US20120131371A1 (en) | Method for obtaining power states of a computer | |
EP3186742A1 (en) | System and method for improved security for a processor in a portable computing device (pcd) | |
CN104049702A (zh) | 一种基于单片机的cpu复位控制***、方法及装置 | |
CN116243996B (zh) | 业务的运行切换方法、装置、存储介质及电子装置 | |
TW201944239A (zh) | 伺服器及自動檢修基板管理控制器的方法 | |
CN101894033A (zh) | 自动在客户端计算器选欲运行操作***的安装***及方法 | |
US9729335B2 (en) | Method for remotely accessing data and local apparatus using the method | |
US11243592B2 (en) | System and method for controlling a power-on sequence and power throttling using power brake | |
CN104991828A (zh) | Cpu调度方法和装置 | |
US20160179716A1 (en) | Timer management apparatus | |
US20190370008A1 (en) | Boot times in an information processing device with externally connected devices | |
CN106095643A (zh) | ***参数存取的设定方法及其服务器 | |
WO2016045363A1 (zh) | Cpu通过hsic总线接口控制wifi模块的方法 | |
US11592890B2 (en) | System and method for Information Handling System (IHS) optimization using core stall management technology | |
WO2022022185A1 (zh) | 内核重启方法 | |
CN107357400B (zh) | 自动开机到安装有指定操作***类型的硬盘的方法 | |
US9645636B2 (en) | Centralized power management with partial suspend mode for distributed storage systems |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151021 |