[发明专利]CPU利用率检测方法和装置有效
申请号: | 201010034050.3 | 申请日: | 2010-01-12 |
公开(公告)号: | CN101727379A | 公开(公告)日: | 2010-06-09 |
发明(设计)人: | 祁云 | 申请(专利权)人: | 瑞斯康达科技发展股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | cpu 利用率 检测 方法 装置 | ||
技术领域
本发明涉及嵌入式系统,尤其涉及一种CPU利用率检测方法和装置。
背景技术
目前嵌入式系统中运行的任务越来越多,系统处理的数据量也越来越 大,对系统性能的要求就越来越高,实时监控系统运行状况就显得非常重要。 CPU利用率的变化正可以反映出系统当前运行状况及各任务运行状况,是 实现系统监控的一个重要标准。CPU利用率能说明CPU的工作状况,利用 率越高说明CPU处于高速运转(繁忙)状态,这时候发热量大,利用率超 过90%的话,时间长了很容易死机,如果散热不好的话,还会导致CPU烧 毁,导致整个系统报废。为了避免以上情况的发生,如何实时的监控各任务 及系统的运行状况而及时的采取措施就成为一个很重要的问题,要想真实地 反映当前CPU占用情况,就需要保证CPU利用率的准确性。
现有技术中一般采用离散时间窗口的方法确定CPU利用率,即任务切 换时对时间直接累加、保存时间窗口内的时间总数进行计算;另外一种方法 是采用滑动时间窗口。
在使用上述离散时间窗口及滑动时间窗口方法检测CPU利用率时,存 在如下问题:
通过离散时间窗口方法检测时,仅在发生任务切换时检测预置的时间窗 内的CPU利用率,而在CPU执行任务的过程中,CPU的利用率可能随时产 生变化,仅在任务切换时进行检测不能如实的反应当前的系统运行状况,导 致检测结果不准确。
而使用滑动时间窗口方法检测CPU利用率时,在时间窗滑动时触发检 测,但只检测发生窗口滑动的时间之前的时间点,当前时间点内的CPU占 用时间不在检测范围内,检测结果不准确,不能实时反映CPU利用情况。
发明内容
本发明提供了一种CPU利用率检测方法和装置,解决了CPU利用率检 测不准确的问题。
一种CPU利用率检测方法,包括:
在检测到触发条件时,确定离散时间部分和滑动时间部分,当前时间窗 口的前N-1个离散间隔即为离散时间部分,当前离散间隔中流逝的时间即为 滑动时间部分,N为所述时间窗内的离散间隔数量;
分别获取离散时间部分和滑动时间部分的CPU占用时间,具体的,根 据表达式O=(Pt-Pt-1)*106/S+Q*106/Freq分别计算离散时间部分和滑动时间部 分的CPU占用时间,其中,O为CPU占用时间,P为计算范围内的tick数, S为系统设定的频率,Q为1个tick内的CPU周期数,Freq为CPU主频;
根据所述离散时间部分和滑动时间部分的CPU占用时间,计算获得当 前CPU利用率,具体的,根据表达式计算获得当前 CPU利用率,其中,PT为CPU利用率,Ot为滑动时间部分中的CPU占用时 间,为离散时间部分的CPU占用时间,t为滑动时间部分,为离 散时间部分。
进一步的,所述触发条件具体为外部指令,所述确定离散时间部分和滑 动时间部分包括:
获取监测时间窗中除当前离散间隔外全部其他离散间隔作为离散时间 部分;
获取当前离散间隔内的流逝时间作为滑动时间部分。
进一步的,所述触发条件具体为发生任务切换,该方法还包括:
在检测到发生任务切换时,记录切换时间。
进一步的,所述确定离散时间部分和滑动时间部分包括:
将本次切换时间与上一次切换时间之间的时长作为离散时间部分;
将新任务执行的时间作为滑动时间部分。
本发明还提供了一种CPU利用率检测装置,包括:
时间确认模块,用于在检测到触发条件时,确定离散时间部分和滑动时 间部分,当前时间窗口的前N-1个离散间隔即为离散时间部分,当前离散间 隔中流逝的时间即为滑动时间部分,N为所述时间窗内的离散间隔数量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瑞斯康达科技发展股份有限公司,未经瑞斯康达科技发展股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010034050.3/2.html,转载请声明来源钻瓜专利网。