CN105740075B - 一种cpu调度方法与系统 - Google Patents

一种cpu调度方法与系统 Download PDF

Info

Publication number
CN105740075B
CN105740075B CN201610055791.7A CN201610055791A CN105740075B CN 105740075 B CN105740075 B CN 105740075B CN 201610055791 A CN201610055791 A CN 201610055791A CN 105740075 B CN105740075 B CN 105740075B
Authority
CN
China
Prior art keywords
cpu
frequency
threshold
scheduling
utilization rate
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.)
Active
Application number
CN201610055791.7A
Other languages
English (en)
Other versions
CN105740075A (zh
Inventor
刘丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201610055791.7A priority Critical patent/CN105740075B/zh
Publication of CN105740075A publication Critical patent/CN105740075A/zh
Application granted granted Critical
Publication of CN105740075B publication Critical patent/CN105740075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

一种CPU调度方法与系统
技术领域
本发明涉及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相应数据包:
[root@localhost~]#yum install cpuspeed
[root@localhost~]#/etc/init.d/cpuspeed start
加载完成后,查看相应目录下的CPU频率可选调度项:
[root@localhost~]#cat/sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors
Conservative ondemand userspace performance
目前主流服务器的处理器都为多核心系统,设置中需要对每个核心都设置为相应的频率调度方式,我们可以通过一个小的shell脚本来完成此动作(以下脚本中*代表系统中逻辑cpu数目):
for i in{0..*};
do echo conservative>/sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor;
done;
完成以上动作之后,在每个逻辑CPU下都会生成相应的conservative保守调度方式的目录,之后就可设置相应的调频参数,调频参数包括三个:采样率,升频阈值以及降频阈值,首先设置采样率,在生成的conservative目录下,有一个sampling_rate采样率文件。此文件的作用是设置对CPU使用情况进行采样的时间间隔,其单位为us,可以通过echo命令写进相应的采样时间间隔值:
[root@localhost~]#cd/sys/devices/system/cpu/cpu0/cpufreq/conservative/
[root@localhost conservative]#ls
down_threshold freq_step ignore_nice_load sampling_down_factorsampling_rate sampling_rate_max sampling_rate_min up_threshold
[root@localhost conservative]#cat sampling_rate_max
[root@localhost conservative]#cat sampling_rate_min
可根据平时服务器的闲忙程度,来设置sampling_rate值。如果服务器闲忙切换较频繁,则需将此值设置小;否则设置采样率值大一些。由于需要对每个逻辑CPU进行设置,同样需要一个脚本来实现:
for i in{0..*};
do echo 200000>
/sys/devices/system/cpu/cpu$i/cpufreq/conservative/sampling_rate;
done;
采样间隔设置完成后,需要继续设置升频阈值up_threshold,以及降频阈值down_threshold。这两项主要是控制CPU升降频的文件。文件也是位于加载conservative调度后的目录里。
需先设置up_threshold值后,再设置down_threshold值,这时
down_threshold值设置才能成功。脚本实现如下:
for i in{0..*};
do echo 85>
/sys/devices/system/cpu/cpu$i/cpufreq/conservative/up_threhold;
do echo 30>
/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 (2)

1.一种CPU调度方法,其特征在于,包括:
获取CPU使用率、升频阈值和降频阈值;
判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值;
其中,获取调度调频参数前还包括:
根据CPU闲忙切换频率设置CPU采样率,设置升频阈值和降频阈值,根据所述CPU采样率采集CPU使用率;
设置CPU采样率、升频阈值以及降频阈值前还包括:将CPU的调度调频模式设置为保守调度模式,具体的,设置所述保守调度模式的方法,包括:
加载ACPI_CPUFREQ相应数据包;
加载完成后,查看相应目录下的CPU频率可选调度项;
处理器为多核心系统,设置中需要对每个核心都设置为相应的频率调度方式;
完成以上动作之后,在每个逻辑CPU下都会生成相应的conservative保守调度方式的目录;所述目录下,有一个sampling_rate采样率文件,所述文件的作用是设置对CPU使用情况进行采样的时间间隔。
2.一种CPU调度系统,其特征在于,包括:
调度调频参数获取模块,用于获取CPU使用率、升频阈值和降频阈值;
调频模块,用于判断所述CPU使用率是否大于所述升频阈值,如果是,则将CPU的频率升高至第一预设阈值,否则判断所述CPU使用率是否小于所述降频阈值,如果是则将所述CPU的频率降低至第二预设阈值;
参数确定模块,用于根据CPU闲忙切换频率设置CPU采样率,设置升频阈值和降频阈值,根据所述CPU采样率采集CPU使用率;
模式确定模块,用于将CPU的调度调频模式设置为保守调度模式,具体的,设置所述保守调度模式 的方法,包括:
加载ACPI_CPUFREQ相应数据包;
加载完成后,查看相应目录下的CPU频率可选调度项;
处理器为多核心系统,设置中需要对每个核心都设置为相应的频率调度方式;
完成以上动作之后,在每个逻辑CPU下都会生成相应的conservative保守调度方式的目录;所述目录下,有一个sampling_rate采样率文件,所述文件的作用是设置对CPU使用情况进行采样的时间间隔。
CN201610055791.7A 2016-01-27 2016-01-27 一种cpu调度方法与系统 Active CN105740075B (zh)

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 CN105740075A (zh) 2016-07-06
CN105740075B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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频率的方法及装置
CN114816033A (zh) * 2019-10-17 2022-07-29 华为技术有限公司 处理器的调频方法及装置、计算设备
CN112162851B (zh) * 2020-09-14 2022-12-13 Oppo(重庆)智能科技有限公司 dex预编译方法、装置、计算机设备及存储介质
CN113094170B (zh) * 2021-03-05 2023-01-03 深圳震有科技股份有限公司 一种5g通信虚拟化网元的内存总线分配方法和终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1622044A (zh) * 2003-11-24 2005-06-01 顺德市顺达电脑厂有限公司 可携式数字装置之处理器频率的调整方法
CN1629773A (zh) * 2003-12-15 2005-06-22 仁宝电脑工业股份有限公司 动态调整中央处理器频率的方法
CN104423529A (zh) * 2013-08-30 2015-03-18 华为技术有限公司 中央处理单元状态调整方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574613B2 (en) * 2006-03-14 2009-08-11 Microsoft Corporation Scaling idle detection metric for power management on computing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1622044A (zh) * 2003-11-24 2005-06-01 顺德市顺达电脑厂有限公司 可携式数字装置之处理器频率的调整方法
CN1629773A (zh) * 2003-12-15 2005-06-22 仁宝电脑工业股份有限公司 动态调整中央处理器频率的方法
CN104423529A (zh) * 2013-08-30 2015-03-18 华为技术有限公司 中央处理单元状态调整方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
集群系统中动态节能调度方法研究;崔慎杰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140615;第16-19页 *

Also Published As

Publication number Publication date
CN105740075A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
CN105740075B (zh) 一种cpu调度方法与系统
Brodowski et al. CPU frequency and voltage scaling code in the Linux (TM) kernel
EP2513745B1 (en) System and method for controlling central processing unit power based on inferred workload parallelism
KR101805972B1 (ko) 연결 상태로 대기하기 위한 프로세스의 일시 정지 및/또는 조절 기법
EP2742399B1 (en) Method and system for transitioning a computing environment in a connected standby mode
KR101850577B1 (ko) 연결 상태로 대기하기 위한 프로세스의 일시 정지 및/또는 조절 기법
CN106155931B (zh) 一种磁盘读限速的方法和装置
CN102955549A (zh) 一种多核cpu的电源管理方法、系统及cpu
KR101941761B1 (ko) 소비 전력을 감소하기 위한 방법, 장치 및 모바일 단말기
CN103345415A (zh) 管理定时器的终端节能方法和装置
CN105511593A (zh) 一种用于Linux系统的CPU子系统频率调节方法和装置
WO2011095086A1 (zh) 一种基于linux系统的设备及其应用启动的方法
CN101661327A (zh) 一种调节中央处理器主频的方法及装置
CN103037109A (zh) 多核设备能耗管理方法及装置
KR102060431B1 (ko) 멀티 코어 시스템의 전력 관리 장치 및 방법
CN114257474A (zh) 智能网关的用电控制方法、装置、计算机设备和存储介质
CN113986000A (zh) 一种服务器上电方法、系统、装置及介质
CN109933419B (zh) 一种控制方法及装置
CN109144693B (zh) 一种功率自适应任务调度方法及系统
WO2017198112A1 (zh) 一种切频方法、装置和计算机可读存储介质
CN108121432B (zh) 一种任务运行的控制方法和装置
CN105589544A (zh) 降低中央处理器能耗的方法、装置及终端
CN103257864A (zh) 嵌入式软件任务调度方法
WO2020238326A1 (zh) 处理器的性能状态的调节方法、装置、uefi及存储介质
CN116932194A (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