CN106033345A - Cpu使用率的控制方法和装置 - Google Patents

Cpu使用率的控制方法和装置 Download PDF

Info

Publication number
CN106033345A
CN106033345A CN201510117122.3A CN201510117122A CN106033345A CN 106033345 A CN106033345 A CN 106033345A CN 201510117122 A CN201510117122 A CN 201510117122A CN 106033345 A CN106033345 A CN 106033345A
Authority
CN
China
Prior art keywords
cpu
work
progress
sampled point
target
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
Application number
CN201510117122.3A
Other languages
English (en)
Other versions
CN106033345B (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.)
Taobao China Software Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510117122.3A priority Critical patent/CN106033345B/zh
Publication of CN106033345A publication Critical patent/CN106033345A/zh
Application granted granted Critical
Publication of CN106033345B publication Critical patent/CN106033345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Feedback Control In General (AREA)

Abstract

本申请公开了一种CPU使用率的控制方法,包括:启动工作进程,其中,工作进程与目标CPU具有绑定关系;获取目标CPU的当前使用率和目标使用率,并获取当前使用率和目标使用率之间的误差值;根据误差值生成工作进程的工作时间;以及根据工作进程的工作时间对工作进程进行控制。该方法能够使得在CPU使用率控制时达到效果稳定、实时性高和精确性高的特点。本申请还公开了一种CPU使用率的控制装置。

Description

CPU使用率的控制方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及CPU使用率的控制方法和装置。
背景技术
目前,在很多高可靠性的软件测试中,很重要的一个测试场景是软件在高压力下的性能测试。而这种高压力往往表现为CPU使用率很高。又如,在很多高可靠性系统中,需要强大的灾难处理预案和容灾保护机制来支撑,而大多数的容灾保护机制都依赖一种监控装置,这种装置能够实时监控系统状态,如CPU使用率、内存使用率等。由于当某种系统状态达到某个精确的设定值时,将会触发容灾保护机制来自动实施某一种处理预案,因此,在这种容灾机制的测试过程当中,精确模拟实时控制CPU使用率就变得十分必要。
相关技术中,CPU使用率的控制方法一般通过以下步骤实现:1)启动一定数量工作线程;2)每个线程按照一定比例做一定时间的计算,拉高CPU使用率;3)如果达到期望值,就停止启动线程;4)如果没有达到期望值,则继续启动更多线程;5)重复步骤3)、步骤4)直到达到期望值。
但是存在的问题是:1)对于多核心的CPU,由于上述方法启动大量线程的做法会使CPU在线程间频繁切换,程序本身会造成过多的CPU占用,导致CPU使用率不稳定;2)需要通过线程的启动和销毁来控制CPU使用率,由于较多的线程启动和销毁都需要一定时间,会导致CPU的调节实时性很差,滞后严重;3)无法消除系统中的静态误差,会导致CPU使用率距离期望值有一定误差,且这一误差与具体环境密切相关,无法预测。
发明内容
本申请的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本申请的第一个目的在于提出一种CPU使用率的控制方法,该方法能够使得在CPU使用率控制时达到效果稳定、实时性高和精确性高的特点。
本申请的第二个目的在于提出一种CPU使用率的控制装置。
为了实现上述目的,本申请第一方面实施例的CPU使用率的控制方法,包括:启动工作进程,其中,所述工作进程与目标CPU具有绑定关系;获取所述目标CPU的当前使用率和目标使用率,并获取所述当前使用率和目标使用率之间的误差值;根据所述误差值生成所述工作进程的工作时间;以及根据所述工作进程的工作时间对所述工作进程进行控制。
本申请实施例的CPU使用率的控制方法能够使得在CPU控制过程中具有如下优点:1)效果稳定:由于启动跟CPU核心相同数量的工作进程,并且进行了CPU核心的绑定,使控制程序本身的CPU消耗可以忽略;2)实时性高:由于引入了PID控制算法,可以使得CPU控制程序非常灵敏,在每个采样周期内,都会计算比例项和积分项,滞后时间可控,为一个采样周期;3)精确性高:由于PID控制算法的积分项可以消除系统中的静态误差,所以可以适应各种不同系统,能够自动学习到系统中的静态误差,从而达到非常高的精确性,误差可以控制在较小值(如1%)以内。
为了实现上述目的,本申请第二方面实施例的CPU使用率的控制装置,包括:启动模块,用于启动工作进程,其中,所述工作进程与目标CPU具有绑定关系;获取模块,用于获取所述目标CPU的当前使用率和目标使用率,并获取所述当前使用率和目标使用率之间的误差值;生成模块,用于根据所述误差值生成所述工作进程的工作时间;以及控制模块,用于根据所述工作进程的工作时间对所述工作进程进行控制。
本申请实施例的CPU使用率的控制装置能够使得在CPU控制过程中具有如下优点:1)效果稳定:由于启动跟CPU核心相同数量的工作进程,并且进行了CPU核心的绑定,使控制程序本身的CPU消耗可以忽略;2)实时性高:由于引入了PID控制算法,可以使得CPU控制程序非常灵敏,在每个采样周期内,都会计算比例项和积分项,滞后时间可控,为一个采样周期;3)精确性高:由于PID控制算法的积分项可以消除系统中的静态误差,所以可以适应各种不同系统,能够自动学习到系统中的静态误差,从而达到非常高的精确性,误差可以控制在较小值(如1%)以内。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本申请一个实施例的CPU使用率的控制方法的流程图;
图2是PID控制算法的流程图;
图3是根据本申请一个实施例的CPU使用率的控制装置的结构示意图;
图4是根据本申请另一个实施例的CPU使用率的控制装置的结构示意图;
图5是根据本申请又一个实施例的CPU使用率的控制装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的CPU使用率的控制方法和装置。
图1是根据本申请一个实施例的CPU使用率的控制方法的流程图。需要说明的是,在本申请的实施例中,CPU为多核CPU。为如图1所示,该CPU使用率的控制方法可以包括:
S101,启动工作进程,其中,工作进程与目标CPU具有绑定关系。
具体地,对于多核CPU需要启动多个工作进程,每个工作进程与一个目标CPU核心相对应,并且进行绑定,即达到此进程只能在被绑定的目标CPU核心上工作。
S102,获取目标CPU的当前使用率和目标使用率,并获取当前使用率和目标使用率之间的误差值。
具体地,可先获取目标CPU的当前使用率和目标使用率,之后可检查该目标CPU的当前使用率是否大于或者等于目标使用率,如果是,则不作任何响应;如果否,则可根据目标CPU的当前使用率和目标使用率计算当前使用率和目标使用率之间的误差值,如误差值即为目标使用率与当前使用率之间的差值。其中,在本申请的实施例中,目标使用率可理解为目标CPU的使用率将要达到的目标值,该目标使用率可以是根据实际场景情况预先设定的。
其中,在本申请的实施例中,获取目标CPU的当前使用率的具体实现过程可为:分别在第一采样点和第二采样点读取/PROC/STAT文件;根据/PROC/STAT文件确定第一采样点和第二采样点之间的总使用时间和空闲使用时间;以及根据第一采样点和第二采样点之间的总使用时间和空闲使用时间获取目标CPU的当前使用率。
举例而言,在Linux操作系统中,/PROC/STAT文件记录了CPU的实时使用情况,上述文件中各参数解释如下:
由于上述/proc/stat中的数值都是从系统启动开始累计到当前时刻的积累值,所以需要在不同时间点t1和t2(即上述的第一采样点和第二采样点)取值进行比较运算,当两个时间点的间隔较短时,可以将这个计算结果作为目标CPU的当前使用率,即,可先分别在不同的采样点(即第一采样点和第二采样点)读取/PROC/STAT文件。之后,可计算第二采样点读取到的/PROC/STAT文件中的各个参数所对应的值(如user2、nice2、system2、idle2、iowait2、irq2、softirq2),与第一采样点读取到的/PROC/STAT文件中的各个参数所对应的值(如user1、nice1、system1、idle1、iowait1、irq1、softirq1)之间的差值,得到的差值即为目标CPU在第一采样点到第二采样点时间段的总使用时间,即目标CPU在第一采样点到第二采样点时间段的总使用时间=(user2+nice2+system2+idle2+iowait2+irq2+softirq2)-(user1+nice1+system1+idle1+iowait1+irq1+softirq1)。然后,计算第二采样点读取到的/PROC/STAT文件中的参数idle(如idle2)与第一采样点读取到的/PROC/STAT文件中的参数idle(如idle1)之间的差值,得到的差值即为目标CPU在第一采样点到第二采样点时间段的空闲使用时间,即,该空闲使用时间=(idle2-idle1)。最后,可通过以下公式得到目标CPU在第一采样点到第二采样点时间段的当前使用率:目标CPU在第一采样点到第二采样点时间段的当前使用率=1-CPU空闲使用时间/CPU总的使用时间。
S103,根据误差值生成工作进程的工作时间。
具体而言,在本申请的实施例中,可通过以下公式生成工作进程的工作时间:
u ( t ) = k p e ( k ) + βk i Σ j = 0 k e ( j ) T - - - ( 1 )
其中,u(t)为工作进程的工作时间,kp为比例项系数,e(x)为误差值,β为积分项的开关系数,ki为积分项系数,j为当前是第j次采样,k为采样的总次数,T为采样点(即采样时间)。
此外,比例项系数kp可根据采样周期确定。例如,比例项系数kp在当前场景下的计算方法是:如果目标CPU的当前使用率计算的采样周期是1秒,那么目标CPU在1秒钟的时间内全部在工作,则此时的CPU占用率为100%。那么要提升CPU的1%的占用率,需要使CPU工作10毫秒。由此得出,若最终计算出的工作进程的工作时间单位为毫秒,则比例项系数kp应为10。此外,积分项系数ki的主要功能是去除静态误差,而每个Linux系统中的静态误差都不相同,故积分项系数ki是一个经验值,可根据不同系统进行设定,从而可以多次试验找到最精确的值。
需要说明的是,在本申请的实施例中,上述式(1)是通过PID控制算法得到的,即根据误差值计算PID控制算法的比例项及积分项,并根据得到的比例项及积分项转换为工作进程的工作时间。在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。如图2所示,为PID控制算法的流程图:比例环节用于对偏差及时反应,偏差一旦产生,控制器即向着偏差减小的方向变化;积分环节用于只要偏差存在,积分就会起作用,将偏差累计,对控制量产生影响,直至偏差为0;微分环节用于预判偏差变化的趋势,使偏差在萌芽状态被抑制。
具体地,根据设定值r(t)与实测值y(t)通过以下公式可构成偏差信号e(t):
e(t)=r(t)-y(t) (2)
之后,可通过以下公式得出控制器输入信号u(t):
u ( t ) = K p [ e ( t ) + 1 T i ∫ 0 t e ( t ) dt + T d de ( t ) dt ] - - - ( 3 )
其中,kp为比例增益,Ti为积分时间常数,Td为微分时间常数。
然后,积分和微分可离散化近似分别表示如下式(4)和式(5),其中T为采样间隔时间:
∫ 0 t e ( t ) dt ≈ Σ j = 0 k Te ( j ) - - - ( 4 )
de ( t ) dt ≈ e ( k ) - e ( k - 1 ) T - - - ( 5 )
然后,将上述式(4)和式(5)代入上述式(3)中,最终可得如下离散化表达式:
u ( k ) = K p { e ( k ) + T T i Σ j = 0 k e ( j ) + T d T [ e ( k ) - e ( k - 1 ) ] } - - - ( 6 )
最后,在CPU使用率控制这一场景下,需要对以上PID控制算法做一些定制:首先,CPU使用率这一指标的变化趋势和幅度往往不可预测,且变化有可能很频繁,从而产生毛刺,所以在PID控制算法中,需要舍弃微分项来避免输入信号过多的被毛刺影响。其次,CPU使用率产生较大幅度的波动时,很可能使积分项的累计误差值过大,产生积分饱和,故应该引入积分分离的方法来避免积分饱和,因此最终的公式形态如上述式(1)。
其中,在本申请的一个实施例中,该CPU使用率的控制方法还可包括:根据误差值计算累计误差值;当累计误差值小于或等于预设阈值时,β为1;当累计误差值大于预设阈值时,β为0。具体地,可将误差值进行累计求和以得到累计误差值,如上述式(1)中的即为累计误差值。可以理解,由于CPU使用率波动的概率较大,这样就会使某次的误差值变的很大,在积分项积累之后,引起积分饱和从而影响精确度,因此,可引入积分分离(即上述积分项的开关系数β)即可解决这个问题,当误差值小于或等于某一设定值,即累计误差值小于或等于预设阈值时,β为1,上述式(1)中积分项才生效,当误差值大于某一设定值时,即累计误差值大于上述预设阈值时,β为0,只有上述式(1)中的比例项kpe(k)生效,此时可认为系统发生了较大变化,需要重新调整,此时清除积累的误差(即累计误差),重新调整比例项。
需要说明的是,在本申请的实施例中,如果当前整体CPU使用率小于目标使用率,但是多核心CPU中每个CPU核心当前使用率各不相同,有的比目标使用率大,则此时可通过以下两种方法计算误差值:
(1)在获取目前CPU的当前使用率时,可分别获取每个CPU核心的当前使用率,然后分别计算每个CPU核心的当前使用率与目标使用率之间的误差值,之后,可分别根据每个误差值生成每个CPU核心对应的工作进程的工作时间;
(2)可将每个CPU核心的当前使用率分别与目标使用率进行比较,如果大于,则这个CPU核心对应的工作进程的工作时间就设置为0,然后从目标使用率减去高出的部分除以CPU核心数所得的值,之后计算其他CPU核心对应的工作进程的工作时间。
S104,根据工作进程的工作时间对工作进程进行控制。
具体地,在根据误差值生成工作进程的工作时间之后,可将该工作进程的工作时间设定到工作进程中,此时目标CPU使用率可将达到目标使用率附近。进一步的,以预设时间(如1秒)为周期,重复执行上述步骤S102至S104,直至目标CPU使用率与目标使用率之间的误差达到理想误差之内。
进一步的,在本申请的一个实施例中,该CPU使用率的控制方法还可包括:将工作进程的工作时间设置为零。也就是说,在上述步骤S101启动工作进程的过程中,可对这些工作进程进行初始化操作,在初始化这些工作进程时,可将这些工作进程对应的工作时间设置为0,以使工作进程休眠,不占用CPU资源。由此,使得获取到的目标CPU的当前使用率更加准确。
综上所述,通过本申请实施例的CPU使用率的控制方法能够使得在CPU控制过程中具有如下优点:
1)效果稳定:由于启动跟CPU核心相同数量的工作进程,并且进行了CPU核心的绑定,使控制程序本身的CPU消耗可以忽略;
2)实时性高:由于引入了PID控制算法,可以使得CPU控制程序非常灵敏,在每个采样周期内,都会计算比例项和积分项,滞后时间可控,为一个采样周期;
3)精确性高:由于PID控制算法的积分项可以消除系统中的静态误差,所以可以适应各种不同系统,能够自动学习到系统中的静态误差,从而达到非常高的精确性,误差可以控制在较小值(如1%)以内。
与上述几种实施例提供的CPU使用率的控制方法相对应,本申请的一种实施例还提供一种CPU使用率的控制装置,由于本申请实施例提供的CPU使用率的控制装置与上述几种实施例提供的CPU使用率的控制方法相对应,因此在前述CPU使用率的控制方法的实施方式也适用于本实施例提供的CPU使用率的控制装置,在本实施例中不再详细描述。图3是根据本申请一个实施例的CPU使用率的控制装置的结构示意图。如图3所示,该CPU使用率的控制装置可以包括:启动模块10、获取模块20、生成模块30和控制模块40。
具体地,启动模块10可用于启动工作进程,其中,工作进程与目标CPU具有绑定关系。
获取模块20可用于获取目标CPU的当前使用率和目标使用率,并获取当前使用率和目标使用率之间的误差值。具体而言,在本申请的实施例中,获取模块20获取目标CPU的当前使用率的具体实现过程可为:分别在第一采样点和第二采样点读取/PROC/STAT文件;根据/PROC/STAT文件确定第一采样点和第二采样点之间的总使用时间和空闲使用时间;以及根据第一采样点和第二采样点之间的总使用时间和空闲使用时间获取目标CPU的当前使用率。
生成模块30可用于根据误差值生成工作进程的工作时间。具体而言,在本申请的实施例中,生成模块30可通过以下公式生成工作进程的工作时间:
u ( t ) = k p e ( k ) + βk i Σ j = 0 k e ( j ) T - - - ( 1 )
其中,u(t)为工作进程的工作时间,kp为比例项系数,e(x)为误差值,β为积分项的开关系数,ki为积分项系数,j为当前是第j次采样,k为采样的总次数,T为采样点(即采样时间)。此外,在本申请的实施例中,比例项系数kp可根据采样周期确定。
进一步,在本申请的一个实施例中,如图4所示,该CPU使用率的控制装置还可包括计算模块50,计算模块50可用于根据误差值计算累计误差值。其中,在本申请的实施例中,当累计误差值小于预设阈值时,β为1;当累计误差值小于预设阈值时,β为0。
控制模块40可用于根据工作进程的工作时间对工作进程进行控制。
进一步的,在本申请的一个实施例中,如图5所示,该CPU使用率的控制装置还可包括设置模块60,设置模块60可用于将工作进程的工作时间设置为零。也就是说,在上述启动模块10启动工作进程的过程中,设置模块60可对这些工作进程进行初始化操作,在初始化这些工作进程时,可将这些工作进程对应的工作时间设置为0,以使工作进程休眠,不占用CPU资源。由此,使得获取到的目标CPU的当前使用率更加准确。
本申请实施例的CPU使用率的控制装置能够使得在CPU控制过程中具有如下优点:1)效果稳定:由于启动跟CPU核心相同数量的工作进程,并且进行了CPU核心的绑定,使控制程序本身的CPU消耗可以忽略;2)实时性高:由于引入了PID控制算法,可以使得CPU控制程序非常灵敏,在每个采样周期内,都会计算比例项和积分项,滞后时间可控,为一个采样周期;3)精确性高:由于PID控制算法的积分项可以消除系统中的静态误差,所以可以适应各种不同系统,能够自动学习到系统中的静态误差,从而达到非常高的精确性,误差可以控制在较小值(如1%)以内。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种CPU使用率的控制方法,其特征在于,包括以下步骤:
启动工作进程,其中,所述工作进程与目标CPU具有绑定关系;
获取所述目标CPU的当前使用率和目标使用率,并获取所述当前使用率和目标使用率之间的误差值;
根据所述误差值生成所述工作进程的工作时间;以及
根据所述工作进程的工作时间对所述工作进程进行控制。
2.如权利要求1所述的CPU使用率的控制方法,其特征在于,通过以下公式生成所述工作进程的工作时间:
u ( t ) = k p e ( k ) + β k i Σ j = 0 k e ( j ) T
其中,u(t)为工作进程的工作时间,kp为比例项系数,e(x)为误差值,β为积分项的开关系数,ki为积分项系数,j为当前是第j次采样,k为采样的总次数,T为采样点。
3.如权利要求2所述的CPU使用率的控制方法,其特征在于,还包括:
根据所述误差值计算累计误差值;
当所述累计误差值小于或等于预设阈值时,β为1;
当所述累计误差值大于所述预设阈值时,β为0。
4.如权利要求1所述的CPU使用率的控制方法,其特征在于,还包括:
将所述工作进程的工作时间设置为零。
5.如权利要求2所述的CPU使用率的控制方法,其特征在于,所述比例项系数kp根据采样周期确定。
6.如权利要求1所述的CPU使用率的控制方法,其特征在于,获取所述目标CPU的当前使用率具体包括:
分别在第一采样点和第二采样点读取/PROC/STAT文件;
根据所述/PROC/STAT文件确定所述第一采样点和第二采样点之间的总使用时间和空闲使用时间;以及
根据所述第一采样点和第二采样点之间的总使用时间和空闲使用时间获取所述目标CPU的当前使用率。
7.一种CPU使用率的控制装置,其特征在于,包括:
启动模块,用于启动工作进程,其中,所述工作进程与目标CPU具有绑定关系;
获取模块,用于获取所述目标CPU的当前使用率和目标使用率,并获取所述当前使用率和目标使用率之间的误差值;
生成模块,用于根据所述误差值生成所述工作进程的工作时间;以及
控制模块,用于根据所述工作进程的工作时间对所述工作进程进行控制。
8.如权利要求7所述的CPU使用率的控制装置,其特征在于,所述生成模块通过以下公式生成所述工作进程的工作时间:
u ( t ) = k p e ( k ) + β k i Σ j = 0 k e ( j ) T
其中,u(t)为工作进程的工作时间,kp为比例项系数,e(x)为误差值,β为积分项的开关系数,ki为积分项系数,j为当前是第j次采样,k为采样的总次数,T为采样点。
9.如权利要求8所述的CPU使用率的控制装置,其特征在于,还包括:
计算模块,用于根据所述误差值计算累计误差值;
其中,当所述累计误差值小于或等于预设阈值时,β为1;当所述累计误差值大于所述预设阈值时,β为0。
10.如权利要求7所述的CPU使用率的控制装置,其特征在于,还包括:
设置模块,用于将所述工作进程的工作时间设置为零。
11.如权利要求8所述的CPU使用率的控制装置,其特征在于,所述比例项系数kp根据采样周期确定。
12.如权利要求7所述的CPU使用率的控制装置,其特征在于,所述获取模块具体用于:
分别在第一采样点和第二采样点读取/PROC/STAT文件;
根据所述/PROC/STAT文件确定所述第一采样点和第二采样点之间的总使用时间和空闲使用时间;以及
根据所述第一采样点和第二采样点之间的总使用时间和空闲使用时间获取所述目标CPU的当前使用率。
CN201510117122.3A 2015-03-17 2015-03-17 Cpu使用率的控制方法和装置 Active CN106033345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510117122.3A CN106033345B (zh) 2015-03-17 2015-03-17 Cpu使用率的控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510117122.3A CN106033345B (zh) 2015-03-17 2015-03-17 Cpu使用率的控制方法和装置

Publications (2)

Publication Number Publication Date
CN106033345A true CN106033345A (zh) 2016-10-19
CN106033345B CN106033345B (zh) 2019-06-11

Family

ID=57150216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510117122.3A Active CN106033345B (zh) 2015-03-17 2015-03-17 Cpu使用率的控制方法和装置

Country Status (1)

Country Link
CN (1) CN106033345B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268082A (zh) * 2016-12-30 2018-07-10 展讯通信(上海)有限公司 功率控制方法及装置
CN110262839A (zh) * 2019-06-17 2019-09-20 腾讯科技(深圳)有限公司 一种处理器的调度方法、装置及存储介质
CN110647437A (zh) * 2019-07-25 2020-01-03 平安科技(深圳)有限公司 基于pid控制器调整cpu使用率的方法、装置、终端及介质
CN110659130A (zh) * 2019-07-25 2020-01-07 平安科技(深圳)有限公司 Cpu使用率自适应调整方法、装置、终端及存储介质
CN113590448A (zh) * 2021-08-04 2021-11-02 特瓦特能源科技有限公司 一种cpu使用率模拟方法、装置及电子设备
CN114338705A (zh) * 2021-11-24 2022-04-12 阿里巴巴(中国)有限公司 内容分发网络cdn节点的资源水位控制方法、设备及介质
WO2023147727A1 (zh) * 2022-02-07 2023-08-10 苏州浪潮智能科技有限公司 功耗调节方法、装置、存储设备及非易失性可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182747A1 (en) * 2004-02-18 2005-08-18 Yukikazu Nakamoto Method and system for executing multiple tasks at adaptively controlled resource utilization rates to achieve equal QoS levels
CN101697140A (zh) * 2009-10-22 2010-04-21 苏州科技学院 操作系统的优化调度方法
CN103049245A (zh) * 2012-10-25 2013-04-17 浪潮电子信息产业股份有限公司 一种基于cpu多核平台的软件性能优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182747A1 (en) * 2004-02-18 2005-08-18 Yukikazu Nakamoto Method and system for executing multiple tasks at adaptively controlled resource utilization rates to achieve equal QoS levels
CN101697140A (zh) * 2009-10-22 2010-04-21 苏州科技学院 操作系统的优化调度方法
CN103049245A (zh) * 2012-10-25 2013-04-17 浪潮电子信息产业股份有限公司 一种基于cpu多核平台的软件性能优化方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268082A (zh) * 2016-12-30 2018-07-10 展讯通信(上海)有限公司 功率控制方法及装置
CN110262839A (zh) * 2019-06-17 2019-09-20 腾讯科技(深圳)有限公司 一种处理器的调度方法、装置及存储介质
CN110262839B (zh) * 2019-06-17 2021-08-31 腾讯科技(深圳)有限公司 一种处理器的调度方法、装置及存储介质
CN110647437A (zh) * 2019-07-25 2020-01-03 平安科技(深圳)有限公司 基于pid控制器调整cpu使用率的方法、装置、终端及介质
CN110659130A (zh) * 2019-07-25 2020-01-07 平安科技(深圳)有限公司 Cpu使用率自适应调整方法、装置、终端及存储介质
WO2021012511A1 (zh) * 2019-07-25 2021-01-28 平安科技(深圳)有限公司 基于pid控制器调整cpu使用率的方法、装置、终端及介质
WO2021012510A1 (zh) * 2019-07-25 2021-01-28 平安科技(深圳)有限公司 Cpu使用率自适应调整方法、装置、终端及存储介质
CN110647437B (zh) * 2019-07-25 2022-08-05 平安科技(深圳)有限公司 基于pid控制器调整cpu使用率的方法、装置、终端及介质
CN113590448A (zh) * 2021-08-04 2021-11-02 特瓦特能源科技有限公司 一种cpu使用率模拟方法、装置及电子设备
CN114338705A (zh) * 2021-11-24 2022-04-12 阿里巴巴(中国)有限公司 内容分发网络cdn节点的资源水位控制方法、设备及介质
CN114338705B (zh) * 2021-11-24 2023-12-01 阿里巴巴(中国)有限公司 内容分发网络cdn节点的资源水位控制方法、设备及介质
WO2023147727A1 (zh) * 2022-02-07 2023-08-10 苏州浪潮智能科技有限公司 功耗调节方法、装置、存储设备及非易失性可读存储介质

Also Published As

Publication number Publication date
CN106033345B (zh) 2019-06-11

Similar Documents

Publication Publication Date Title
CN106033345A (zh) Cpu使用率的控制方法和装置
CN100533399C (zh) 用于检测异常的自学习方法和系统
CN103218263B (zh) MapReduce参数的动态确定方法及装置
DE112005003788T5 (de) Dynamische Abschätzung der Lebensdauer einer Halbleitereinrichtung
EP3087439B1 (de) Messumformer mit überwachungsfunktion
CN105912454A (zh) 一种系统健康评测方法及装置
DE102016001980B4 (de) Steuervorrichtung, die mittels einer Fehlerkorrekturfunktion eine Lebensdauervorhersage durchführt
US11892819B2 (en) Control device, control system, control method, and computer-readable storage medium
DE112019002778T5 (de) Simulationsvorrichtung, simulationsverfahren und elektronische steuereinheitsvorrichtung
CN103207827B (zh) 基于Linux系统下检测IO热点的方法与装置
CN103646670A (zh) 一种评估存储系统性能的方法和设备
CN102095657A (zh) 一种料香施加过程的均匀性检测方法
CN106775885A (zh) 一种日志输出控制方法和系统及银行管理系统
DE102016125240A1 (de) Elektronische Schaltung für ein Feldgerät der Automatisierungstechnik
DE112010003170B4 (de) Leistungsbegrenzungsrückkopplungsnormierung
US20070220238A1 (en) Dynamic readjustment and interpolation of progress method and system
CN116738617A (zh) 动力系统建模方法、装置、电子设备及存储介质
WO2017190956A1 (de) Verfahren zum bestimmen eines modells
JP6985180B2 (ja) 数値制御装置
CN115774646A (zh) 一种进程预警方法、装置、电子设备和存储介质
DE102014117905A1 (de) Verfahren zum Überschreiben eines nicht-flüchtigen Speichers eines Feldgerätes
US8131505B2 (en) Method for computer-aided analysis of the reliability of a technical system, corresponding device, and a corresponding technical system
CN115774179A (zh) 老化试验条件的确定方法和装置
US11544171B2 (en) Method for monitoring the free space of a memory stack
WO2012048734A1 (en) Method for controlling an industrial process

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
TR01 Transfer of patent right

Effective date of registration: 20211105

Address after: Room 554, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: TAOBAO (CHINA) SOFTWARE CO.,LTD.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right