CN105740075A - 一种cpu调度方法与系统 - Google Patents
一种cpu调度方法与系统 Download PDFInfo
- Publication number
- CN105740075A CN105740075A CN201610055791.7A CN201610055791A CN105740075A CN 105740075 A CN105740075 A CN 105740075A CN 201610055791 A CN201610055791 A CN 201610055791A CN 105740075 A CN105740075 A CN 105740075A
- Authority
- CN
- China
- Prior art keywords
- cpu
- threshold value
- frequency
- raising
- scheduling
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种CPU调度方法与系统,获取CPU使用率、升频阈值和降频阈值;判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。根据预设的升频阈值与降频阈值与当前CPU的使用百分比的比较,忙时升高CPU使用率,闲时降低CPU使用率,保持节能,可以按需高效地调度CPU智能升降频,提高系统性能。
Description
技术领域
本发明涉及Linux系统领域,特别是涉及一种CPU调度方法与系统。
背景技术
Linux系统的服务器在实际应用中,并不是所有时段都是处于繁忙阶段。在一段空闲时间过后,对于突来的繁忙,有时中央处理器CPU处于节能状态则需及时去唤醒CPU,在这个唤醒的时间,可能由于CPU未能及时响应会导致数据丢包等情况。
但是如果固定地将系统设置为最大性能状态,服务器无业务量时,CPU则在一直运行等待任务,会造成功耗等资源的浪费。
发明内容
有鉴于此,本发明的主要目的在于提供一种CPU调度方法与系统,可以高效地调节CPU的使用频率。
为实现上述目的,本发明提供了一种CPU调度方法,包括:
获取CPU使用率、升频阈值和降频阈值;
判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。
优选地,获取调度调频参数前还包括:
设置CPU采样率、升频阈值以及降频阈值,根据所述CPU采样率采集CPU使用率。
优选地,设置CPU采样率、升频阈值以及降频阈值前还包括:
将CPU的调度调频模式设置为保守调度模式。
本发明还提供了一种CPU调度系统,包括:
调度调频参数获取模块,用于获取CPU使用率、升频阈值和降频阈值;
调频模块,用于判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。
优选地,所述CPU调度系统还包括:
参数确定模块,用于设置CPU采样率、升频阈值以及降频阈值,根据所述CPU采样率采集CPU使用率。
优选地,所述CPU调度系统还包括:
模式确定模块,用于将CPU的调度调频模式设置为保守调度模式。
应用本发明提供的一种CPU调度方法与系统,获取CPU使用率、升频阈值和降频阈值;判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。根据预设的升频阈值与降频阈值与当前CPU的使用百分比的比较,忙时升高CPU使用率,闲时降低CPU使用率,保持节能,可以按需高效地调度CPU智能升降频,提高系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一种CPU调度方法实施例的流程图;
图2为本发明一种CPU调度系统实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种CPU调度方法,图1示出了本发明CPU调度方法实施例的流程图,包括:
步骤S101:获取CPU使用率、升频阈值和降频阈值;
需要对CPU进行调度时,首先需要将CPU的调度调频模式设置为保守调度模式:
首先需加载ACPI_CPUFREQ相应数据包:
[rootlocalhost~]#yuminstallcpuspeed
[rootlocalhost~]#/etc/init.d/cpuspeedstart
加载完成后,查看相应目录下的CPU频率可选调度项:
[rootlocalhost~]#cat/sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors
Conservativeondemanduserspaceperformance
目前主流服务器的处理器都为多核心系统,设置中需要对每个核心都设置为相应的频率调度方式,我们可以通过一个小的shell脚本来完成此动作(以下脚本中*代表系统中逻辑cpu数目):
foriin{0..*};
doechoconservative>/sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor;
done;
完成以上动作之后,在每个逻辑CPU下都会生成相应的conservative保守调度方式的目录,之后就可设置相应的调频参数,调频参数包括三个:采样率,升频阈值以及降频阈值,首先设置采样率,在生成的conservative目录下,有一个sampling_rate采样率文件。此文件的作用是设置对CPU使用情况进行采样的时间间隔,其单位为us,可以通过echo命令写进相应的采样时间间隔值:
[rootlocalhost~]#cd/sys/devices/system/cpu/cpu0/cpufreq/conservative/
[rootlocalhostconservative]#ls
down_thresholdfreq_stepignore_nice_loadsampling_down_factorsampling_ratesampling_rate_maxsampling_rate_minup_threshold
[rootlocalhostconservative]#catsampling_rate_max
[rootlocalhostconservative]#catsampling_rate_min
可根据平时服务器的闲忙程度,来设置sampling_rate值。如果服务器闲忙切换较频繁,则需将此值设置小;否则设置采样率值大一些。由于需要对每个逻辑CPU进行设置,同样需要一个脚本来实现:
foriin{0..*};
doecho200000>
/sys/devices/system/cpu/cpu$i/cpufreq/conservative/sampling_rate;
done;
采样间隔设置完成后,需要继续设置升频阈值up_threshold,以及降频阈值down_threshold。这两项主要是控制CPU升降频的文件。文件也是位于加载conservative调度后的目录里。
需先设置up_threshold值后,再设置down_threshold值,这时
down_threshold值设置才能成功。脚本实现如下:
foriin{0..*};
doecho85>
/sys/devices/system/cpu/cpu$i/cpufreq/conservative/up_threhold;
doecho30>
/sys/devices/system/cpu/cpu$i/cpufreq/conservative/down_threhold;
done;
设置CPU采样率、升频阈值以及降频阈值后,根据所述CPU采样率采集CPU使用率,采样率通过传感器按照设定好的采样时间从CPU中采集使用率信息。
步骤S102:判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。
将CPU使用率与up_threshold文件中设置的值作对比,若大于up_threhold值,则下达升频命令,使CPU频率升高,可运行至最高;否则将CPU使用率与down_threshold文件的值作对比,若小于down_threshold值,则下达降频命令,使CPU频率降低,以达到节能状态。
应用本实施例提供的一种CPU调度方法,获取CPU使用率、升频阈值和降频阈值;判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。根据预设的升频阈值与降频阈值与当前CPU的使用百分比的比较,忙时升高CPU使用率,闲时降低CPU使用率,保持节能,可以按需高效地调度CPU智能升降频,提高系统性能。
本发明还提供了一种CPU调度系统,图2示出了本发明CPU调度系统实施例的结构示意图,包括:
调度调频参数获取模块101,用于获取CPU使用率、升频阈值和降频阈值;
调频模块102,用于判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。
应用本实施例提供的一种CPU调度系统,获取CPU使用率、升频阈值和降频阈值;判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。根据预设的升频阈值与降频阈值与当前CPU的使用百分比的比较,忙时升高CPU使用率,闲时降低CPU使用率,保持节能,可以按需高效地调度CPU智能升降频,提高系统性能。
本实施例的CPU调度系统还可包括:
模式确定模块,用于将CPU的调度调频模式设置为保守调度模式;
参数确定模块,用于设置CPU采样率、升频阈值以及降频阈值,根据所述CPU采样率采集CPU使用率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种CPU调度方法,其特征在于,包括:
获取CPU使用率、升频阈值和降频阈值;
判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。
2.根据权利要求1所述的CPU调度方法,其特征在于,获取调度调频参数前还包括:
设置CPU采样率、升频阈值以及降频阈值,根据所述CPU采样率采集CPU使用率。
3.根据权利要求2所述的CPU调度方法,其特征在于,设置CPU采样率、升频阈值以及降频阈值前还包括:
将CPU的调度调频模式设置为保守调度模式。
4.一种CPU调度系统,其特征在于,包括:
调度调频参数获取模块,用于获取CPU使用率、升频阈值和降频阈值;
调频模块,用于判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值。
5.根据权利要求4所述的CPU调度系统,其特征在于,还包括:
参数确定模块,用于设置CPU采样率、升频阈值以及降频阈值,根据所述CPU采样率采集CPU使用率。
6.根据权利要求5所述的CPU调度系统,其特征在于,还包括:
模式确定模块,用于将CPU的调度调频模式设置为保守调度模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610055791.7A CN105740075B (zh) | 2016-01-27 | 2016-01-27 | 一种cpu调度方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610055791.7A CN105740075B (zh) | 2016-01-27 | 2016-01-27 | 一种cpu调度方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740075A true CN105740075A (zh) | 2016-07-06 |
CN105740075B CN105740075B (zh) | 2020-03-31 |
Family
ID=56246651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610055791.7A Active CN105740075B (zh) | 2016-01-27 | 2016-01-27 | 一种cpu调度方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740075B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511593A (zh) * | 2016-02-25 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种用于Linux系统的CPU子系统频率调节方法和装置 |
CN106527653A (zh) * | 2016-10-12 | 2017-03-22 | 东软集团股份有限公司 | 调整cpu频率的方法及装置 |
CN110941325A (zh) * | 2019-10-17 | 2020-03-31 | 华为技术有限公司 | 处理器的调频方法及装置、计算设备 |
CN112162851A (zh) * | 2020-09-14 | 2021-01-01 | Oppo(重庆)智能科技有限公司 | dex预编译方法、装置、计算机设备及存储介质 |
CN113094170A (zh) * | 2021-03-05 | 2021-07-09 | 深圳震有科技股份有限公司 | 一种5g通信虚拟化网元的内存总线分配方法和终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622044A (zh) * | 2003-11-24 | 2005-06-01 | 顺德市顺达电脑厂有限公司 | 可携式数字装置之处理器频率的调整方法 |
CN1629773A (zh) * | 2003-12-15 | 2005-06-22 | 仁宝电脑工业股份有限公司 | 动态调整中央处理器频率的方法 |
US20070220289A1 (en) * | 2006-03-14 | 2007-09-20 | Microsoft Corporation | Scaling idle detection metric for power management on computing device |
CN104423529A (zh) * | 2013-08-30 | 2015-03-18 | 华为技术有限公司 | 中央处理单元状态调整方法和装置 |
-
2016
- 2016-01-27 CN CN201610055791.7A patent/CN105740075B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622044A (zh) * | 2003-11-24 | 2005-06-01 | 顺德市顺达电脑厂有限公司 | 可携式数字装置之处理器频率的调整方法 |
CN1629773A (zh) * | 2003-12-15 | 2005-06-22 | 仁宝电脑工业股份有限公司 | 动态调整中央处理器频率的方法 |
US20070220289A1 (en) * | 2006-03-14 | 2007-09-20 | Microsoft Corporation | Scaling idle detection metric for power management on computing device |
CN104423529A (zh) * | 2013-08-30 | 2015-03-18 | 华为技术有限公司 | 中央处理单元状态调整方法和装置 |
Non-Patent Citations (1)
Title |
---|
崔慎杰: "集群系统中动态节能调度方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511593A (zh) * | 2016-02-25 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种用于Linux系统的CPU子系统频率调节方法和装置 |
CN106527653A (zh) * | 2016-10-12 | 2017-03-22 | 东软集团股份有限公司 | 调整cpu频率的方法及装置 |
CN110941325A (zh) * | 2019-10-17 | 2020-03-31 | 华为技术有限公司 | 处理器的调频方法及装置、计算设备 |
CN110941325B (zh) * | 2019-10-17 | 2022-05-06 | 华为技术有限公司 | 处理器的调频方法及装置、计算设备 |
CN112162851A (zh) * | 2020-09-14 | 2021-01-01 | Oppo(重庆)智能科技有限公司 | dex预编译方法、装置、计算机设备及存储介质 |
CN112162851B (zh) * | 2020-09-14 | 2022-12-13 | Oppo(重庆)智能科技有限公司 | dex预编译方法、装置、计算机设备及存储介质 |
CN113094170A (zh) * | 2021-03-05 | 2021-07-09 | 深圳震有科技股份有限公司 | 一种5g通信虚拟化网元的内存总线分配方法和终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105740075B (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105740075A (zh) | 一种cpu调度方法与系统 | |
CN102789304B (zh) | 电源管理方法及相关装置 | |
CN101770273B (zh) | 一种实现服务器多中央处理器系统节能的方法和装置 | |
CN104423529B (zh) | 中央处理单元状态调整方法和装置 | |
CN103246340A (zh) | 动态调整中央处理单元的频率的装置和方法 | |
CN105511593A (zh) | 一种用于Linux系统的CPU子系统频率调节方法和装置 | |
CN102597912B (zh) | 用于平台功率节省的协调设备和应用程序中断事件 | |
WO2013002864A1 (en) | Method and system for determining an energy-efficient operating point of a platform | |
CN104571459A (zh) | 磁盘阵列存储装置、服务器系统及其电源管理方法 | |
US8627125B2 (en) | Context sensitive power management for a resource | |
CN104007806A (zh) | 一种安卓系统中的cpu频率的控制方法、装置和设备 | |
CN103037109B (zh) | 多核设备能耗管理方法及装置 | |
CN101923382A (zh) | 一种计算机系统的节能方法及计算机系统 | |
CN102778943A (zh) | 状态控制方法、装置及便携终端 | |
CN107111349B (zh) | 用于片上多核系统的驱动基于访问的资源的低功耗控制和管理 | |
CN111625080B (zh) | 一种服务器节能方法、装置及电子设备和存储介质 | |
CN110633152A (zh) | 用于实现业务集群水平伸缩的方法和装置 | |
CN107797644A (zh) | 一种soc芯片动态电压频率调整实现方法 | |
CN104756042A (zh) | 用于在无线终端中控制操作模式的装置和方法 | |
CN101661327A (zh) | 一种调节中央处理器主频的方法及装置 | |
CN105893141A (zh) | 一种多核处理器调控方法及装置及使用该方法的移动终端 | |
CN105446916A (zh) | Usb总线状态切换方法及装置 | |
KR102060431B1 (ko) | 멀티 코어 시스템의 전력 관리 장치 및 방법 | |
CN102929381B (zh) | 电子系统及其电源管理方法 | |
CN105022469B (zh) | 便携式电子装置及其内核交换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |