《一种CPU占用率的计算方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种CPU占用率的计算方法及装置.pdf(6页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102110043A43申请公布日20110629CN102110043ACN102110043A21申请号201010614108122申请日20101230G06F11/3420060171申请人上海顶竹通讯技术有限公司地址201108上海市闵行区金都路4289号6幢2楼38室72发明人李晓斌74专利代理机构上海翼胜专利商标事务所普通合伙31218代理人刁文魁翟羽54发明名称一种CPU占用率的计算方法及装置57摘要一种CPU占用率的计算方法,包括选取一任务;指定一采样周期TC;获得所述任务在所述采样周期内累计占用CPU的时间长度TT;采样周期结束时,计算所述任务的CPU占。
2、用率为一个周期内所述任务累计占用CPU的时间长度TT除以所述周期的总时间TC。本发明的优点在于,针对每一个任务实施统计,因此可以准确得到各个任务的CPU占用率,且上述方法不受硬件的影响,独立工作。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图1页CN102110046A1/1页21一种CPU占用率的计算方法,其特征在于,包括选取一任务;指定一采样周期TC;获得所述任务在所述采样周期内累计占用CPU的时间长度TT;采样周期结束时,计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度TT除以所述周期的总时间TC。2根据权利要求1所述的C。
3、PU占用率的计算方法,其特征在于,所述获得时间长度TT的步骤进一步包括任务切换入时,获取当前的切入时间TB;任务切换出时,获取当前的切出时间TE;计算本任务占用CPU的时间长度TATETB;将所述采样周期内每次所述任务占用CPU的时间长度TA累加,得到本任务累计占用CPU时间TT。3根据权利要求2所述的CPU占用率的计算方法,其特征在于,所述获取切入时间TB以及切出时间TE的步骤,均采用微秒计时器获得时间。4一种CPU占用率的计算装置,其特征在于,包括任务选定单元,用于选取一任务;周期制定单元,用于指定一采样周期TC;时间统计单元,用于获得所述任务在所述采样周期内累计占用CPU的时间长度TT;。
4、占用率计算单元,用于计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度TT除以所述周期的总时间TC。5根据权利要求4所述的CPU占用率的计算装置,其特征在于,所述时间统计单元进一步包括切入时间获取模块,用于在任务切换入时,获取当前的切入时间TB;切出时间获取模块,用于在任务切换出时,获取当前的切出时间TE;CPU占用时间计算模块,用于计算本任务占用CPU的时间长度TATETB;时间累加模块,用于将所述采样周期内每次所述任务占用CPU的时间长度TA累加,得到本任务累计占用CPU时间TT。6根据权利要求5所述的CPU占用率的计算装置,其特征在于,所述切入时间获取模块以及切出时间。
5、获取模块,均调用微秒计时器获得时间。权利要求书CN102110043ACN102110046A1/3页3一种CPU占用率的计算方法及装置技术领域0001本发明涉及通讯与计算机技术领域,尤其涉及一种CPU占用率的计算方法及装置。背景技术0002CPU占用率是计算机硬件中必须关注的一个重要指标。目前主要有两种算法可以实现CPU使用率的获取,分别是CPU燃烧的方法以及在TICK中断中对RTOS中的任务进行采样方法。0003CPU燃烧的方法首先要建立测量时间内满负载的CPU衡量标准,这个衡量标准一般是一个计数值。通常的做法是在规定的测量时间内,禁止外部中断和任务切换,让CPU进行一种耗时运算,然后使这。
6、个计数值累加,最后这个计数值就是测量时间内满负载的CPU衡量标准。CPU燃烧的名称来源于这种耗时运算,耗时运算一般选取浮点运算,但在IMAGE大小有限制的情况下,可以选取整数运算。标准建立完毕后,再建立一个CPU利用率的任务,只要保证它的优先级是系统中最低的就可以了。这个任务的主要工作是在规定的测量时间内,进行耗时运算和计数值累加,并且每个测量时间结束后又重新开始。由于系统中存在其它任务,所以在某个测量时间内,这个计数值不会超过满负荷的CPU衡量标准,所以在某个测量时间内CPU空闲率计数值/满负荷的CPU衡量标准;CPU负荷100CPU空闲率。0004在TICK中断中对RTOS中的任务进行采样。
7、方法是系统进入运行后,每次TICK中断发生时采样一下当前正在执行的任务,如果CPU处于HALT态,则累加HALTTIMES;然后周期性地计算CPU占用率,一般每秒钟计算一次,并清除HALTTIMESTICKINTFREQUANCE表示TICK中断的发生频率;REALTIMECPULOADHALTTIMES/TICKINTFREQUANCE。则某个任务对CPU占用率一个周期内该任务被采样到的次数/TICKINTFREQUANCE100。其中RTOS为实时操作系统。0005上述两种方法的缺点在于,CPU使用率燃烧算法实现简单但是不能得到各个任务的CPU使用率,在TICK中断中对RTOS中任务采样算。
8、法基本可以得到各个任务的CPU使用率但是误差太大。发明内容0006本发明所要解决的技术问题是,提供一种CPU占用率的计算方法及装置,能够精确得到各个任务的CPU使用率。0007为了解决上述问题,本发明提供了一种CPU占用率的计算方法,包括选取一任务;指定一采样周期TC;获得所述任务在所述采样周期内累计占用CPU的时间长度TT;采样周期结束时,计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度TT除以所述周期的总时间TC。0008作为可选的技术方案,所述获得时间长度TT的步骤进一步包括任务切换入时,说明书CN102110043ACN102110046A2/3页4获取当前的切入。
9、时间TB;任务切换出时,获取当前的切出时间TE;计算本任务占用CPU的时间长度TATETB;将所述采样周期内每次所述任务占用CPU的时间长度TA累加,得到本任务累计占用CPU时间TT。0009作为可选的技术方案,所述获取切入时间TB以及切出时间TE的步骤,均采用微秒计时器获得时间。0010本发明进一步提供了一种CPU占用率的计算装置,包括任务选定单元,用于选取一任务;周期制定单元,用于指定一采样周期TC;时间统计单元,用于获得所述任务在所述采样周期内累计占用CPU的时间长度TT;占用率计算单元,用于计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度TT除以所述周期的总时间T。
10、C。0011作为可选的技术方案,所述时间统计单元进一步包括切入时间获取模块,用于在任务切换入时,获取当前的切入时间TB;切出时间获取模块,用于在任务切换出时,获取当前的切出时间TE;CPU占用时间计算模块,用于计算本任务占用CPU的时间长度TATETB;时间累加模块,将所述采样周期内每次所述任务占用CPU的时间长度TA累加,得到本任务累计占用CPU时间TT。0012作为可选的技术方案,所述切入时间获取模块以及切出时间获取模块,均调用微秒计时器获得时间。0013本发明的优点在于,针对每一个任务实施统计,因此可以准确得到各个任务的CPU占用率,且上述方法不受硬件的影响,独立工作。附图说明0014附。
11、图1所示是本发明所述方法的具体实施方式的实施步骤示意图。0015附图2所示是本发明所述装置的具体实施方式的系统架构示意图。具体实施方式0016接下来结合附图对本发明所述的一种CPU占用率的计算方法及装置的具体实施方式做出详细说明。0017首先结合附图给出本发明所述方法的具体实施方式。附图1所示是本实施方式的实施步骤示意图,包括步骤S100,选取一任务;步骤S110,指定一采样周期TC;步骤S121,任务切换入时,获取当前的切入时间TB;步骤S122,任务切换出时,获取当前的切出时间TE;步骤S123,计算本任务占用CPU的时间长度TATETB;步骤S124,将所述采样周期内每次所述任务占用CP。
12、U的时间长度TA累加,得到本任务累计占用CPU时间TT;步骤S130,采样周期结束时,计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度TT除以所述周期的总时间TC。0018步骤S100,选取一任务。此任务可以是计算机中任意一个占用CPU进行处理的任务。0019步骤S110,指定一采样周期TC。TC可以是时间的任意值,例如1秒、10秒或者一分钟等。0020步骤S121,任务切换入时,获取当前的切入时间TB。所谓任务切换入,是指任务切换至CPU进行数据处理的时间点,本方法记录此时的切入时间TB,即CPU开始处理此任务的说明书CN102110043ACN102110046A3/。
13、3页5时间。0021步骤S122,任务切换出时,获取当前的切出时间TE。所谓任务切换出,是指CPU将任务处理完毕的时间点,本方法记录此时的切出时间TB,即CPU将此任务处理完毕的时间。0022步骤S123,计算本任务占用CPU的时间长度TATETB。显然,上述两个时间节点的差值即为本任务占用CPU进行数据处理的时间。0023步骤S124,将所述采样周期内每次所述任务占用CPU的时间长度TA累加,得到本任务累计占用CPU时间TT。此步骤可以采用在计算机中定义一数值TT,每次任务处理完毕后,都将处理的时间长度TA累加至数值TT,即执行运算TTTTTA。显然,在开始进行统计时,TT的初始值为0。00。
14、24步骤S130,采样周期结束时,计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度TT除以所述周期的总时间TC。任务的CPU占用率故名思惟应当是此任务在单位时间内占用CPU的量,将TT除以TC即可以得到此结果。0025为了精确计算出各个任务的执行时间,可以采用微秒计时器获得切入时间TB以及切出时间TE,从而精确计算出各个任务的各自执行时间。微秒计时器是指计时精确度小于1微秒的计时器。0026如果想统计多个任务的CPU占用率,也只需要对每个任务分别实施上述方法,并将所获得的占用率结果加和,即可以得到多个任务的总的CPU占用率。0027以上具体实施方式所述技术方案的优点在于,。
15、针对每一个任务实施统计,因此可以准确得到各个任务的CPU占用率,且上述方法不受硬件的影响,独立工作。0028接下来结合附图给出本发明所述装置的具体实施方式。附图2所示是本装置的架构示意图,包括0029任务选定单元200,用于选取一任务;0030周期制定单元210,用于指定一采样周期TC;0031时间统计单元220,用于获得所述任务在所述采样周期内累计占用CPU的时间长度TT;0032占用率计算单元230,用于计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度TT除以所述周期的总时间TC。0033其中时间统计单元220进一步包括切入时间获取模块221,用于在任务切换入时,获取。
16、当前的切入时间TB;切出时间获取模块222,用于在任务切换出时,获取当前的切出时间TE;CPU占用时间计算模块223,用于计算本任务占用CPU的时间长度TATETB;时间累加模块224,将所述采样周期内每次所述任务占用CPU的时间长度TA累加,得到本任务累计占用CPU时间TT。0034切入时间获取模块221以及切出时间获取模块222均调用微秒计时器获得时间。0035以上各个组件的相互关系以及工作原理请参考前一关于方法的具体实施方式,此处从略。0036以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。说明书CN102110043ACN102110046A1/1页6图1图2说明书附图CN102110043A。