[发明专利]一种CPU占用率的计算方法及装置无效
申请号: | 201010614108.1 | 申请日: | 2010-12-30 |
公开(公告)号: | CN102110043A | 公开(公告)日: | 2011-06-29 |
发明(设计)人: | 李晓斌 | 申请(专利权)人: | 上海顶竹通讯技术有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 上海翼胜专利商标事务所(普通合伙) 31218 | 代理人: | 刁文魁;翟羽 |
地址: | 201108 上海市闵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu 占用率 计算方法 装置 | ||
技术领域
本发明涉及通讯与计算机技术领域,尤其涉及一种CPU占用率的计算方法及装置。
背景技术
CPU占用率是计算机硬件中必须关注的一个重要指标。目前主要有两种算法可以实现CPU使用率的获取,分别是CPU燃烧的方法以及在Tick中断中对RTOS中的任务进行采样方法。
CPU燃烧的方法首先要建立测量时间内满负载的CPU衡量标准,这个衡量标准一般是一个计数值。通常的做法是在规定的测量时间内,禁止外部中断和任务切换,让CPU进行一种耗时运算,然后使这个计数值累加,最后这个计数值就是测量时间内满负载的CPU衡量标准。CPU燃烧的名称来源于这种耗时运算,耗时运算一般选取浮点运算,但在image大小有限制的情况下,可以选取整数运算。标准建立完毕后,再建立一个CPU利用率的任务,只要保证它的优先级是系统中最低的就可以了。这个任务的主要工作是在规定的测量时间内,进行耗时运算和计数值累加,并且每个测量时间结束后又重新开始。由于系统中存在其它任务,所以在某个测量时间内,这个计数值不会超过满负荷的CPU衡量标准,所以在某个测量时间内:CPU空闲率=计数值/满负荷的CPU衡量标准;CPU负荷=100%-CPU空闲率。
在Tick中断中对RTOS中的任务进行采样方法是系统进入运行后,每次Tick中断发生时采样一下当前正在执行的任务,如果CPU处于HALT态,则累加haltTimes;然后周期性地计算CPU占用率,一般每秒钟计算一次,并清除haltTimes:(tickIntFrequance表示Tick中断的发生频率);RealTime CPU Load=haltTimes/tickIntFrequance。则某个任务对CPU占用率=一个周期内该任务被采样到的次数/tickIntFrequance*100%。其中RTOS为实时操作系统。
上述两种方法的缺点在于,CPU使用率燃烧算法实现简单但是不能得到各个任务的CPU使用率,在Tick中断中对RTOS中任务采样算法基本可以得到各个任务的CPU使用率但是误差太大。
发明内容
本发明所要解决的技术问题是,提供一种CPU占用率的计算方法及装置,能够精确得到各个任务的CPU使用率。
为了解决上述问题,本发明提供了一种CPU占用率的计算方法,包括:选取一任务;指定一采样周期Tc;获得所述任务在所述采样周期内累计占用CPU的时间长度Tt;采样周期结束时,计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度Tt除以所述周期的总时间Tc。
作为可选的技术方案,所述获得时间长度Tt的步骤进一步包括:任务切换入时,获取当前的切入时间Tb;任务切换出时,获取当前的切出时间Te;计算本任务占用CPU的时间长度Ta=Te-Tb;将所述采样周期内每次所述任务占用CPU的时间长度Ta累加,得到本任务累计占用CPU时间Tt。
作为可选的技术方案,所述获取切入时间Tb以及切出时间Te的步骤,均采用微秒计时器获得时间。
本发明进一步提供了一种CPU占用率的计算装置,包括:任务选定单元,用于选取一任务;周期制定单元,用于指定一采样周期Tc;时间统计单元,用于获得所述任务在所述采样周期内累计占用CPU的时间长度Tt;占用率计算单元,用于计算所述任务的CPU占用率为一个周期内所述任务累计占用CPU的时间长度Tt除以所述周期的总时间Tc。
作为可选的技术方案,所述时间统计单元进一步包括:切入时间获取模块,用于在任务切换入时,获取当前的切入时间Tb;切出时间获取模块,用于在任务切换出时,获取当前的切出时间Te;CPU占用时间计算模块,用于计算本任务占用CPU的时间长度Ta=Te-Tb;时间累加模块,将所述采样周期内每次所述任务占用CPU的时间长度Ta累加,得到本任务累计占用CPU时间Tt。
作为可选的技术方案,所述切入时间获取模块以及切出时间获取模块,均调用微秒计时器获得时间。
本发明的优点在于,针对每一个任务实施统计,因此可以准确得到各个任务的CPU占用率,且上述方法不受硬件的影响,独立工作。
附图说明
附图1所示是本发明所述方法的具体实施方式的实施步骤示意图。
附图2所示是本发明所述装置的具体实施方式的系统架构示意图。
具体实施方式
接下来结合附图对本发明所述的一种CPU占用率的计算方法及装置的具体实施方式做出详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海顶竹通讯技术有限公司,未经上海顶竹通讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010614108.1/2.html,转载请声明来源钻瓜专利网。