一种CPU使用率监控方法及装置制造方法及图纸

技术编号:27804336 阅读:39 留言:0更新日期:2021-03-30 09:09
本发明专利技术公开了一种CPU使用率监控方法及装置,所述方法包括:采用一预定义的目标变量在预设次数内进行循环计算;调用System.currentTime()函数获取所述目标变量进行首次循环计算时的起始时间;判断所述目标变量的循环计算次数是否达到所述预设次数的末次,若是则调用System.currentTime()函数获取所述目标变量进行末次循环计算时的结束时间;根据所述起始时间与所述结束时间的时间差值,获得CPU的维度数据;其中,所述维度数据表示所述CPU的繁忙程度;基于等式Y=M/(delT*delT),获得所述CPU使用率的评估值;其中,Y为评估值,M为调节系数,delT为维度数据;根据所述评估值,获得所述CPU的使用率。本发明专利技术节省了获取CPU使用率时的采集开销,提高了系统整体性能。性能。性能。

【技术实现步骤摘要】
一种CPU使用率监控方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种CPU使用率监控方法及装置。

技术介绍

[0002]在传统的Android开发方案中,没有一种针对CPU(central processing unit,中央处理器)使用率监控的预警方案。一般来说对CPU的使用率进行监控就需要获取CPU的数据信息,但目前针对CPU数据的采集通常是使用很复杂的数据解析来获取到CPU数据信息,例如:传统CPU数据获取方案中对手机CPU的数据获取通常都是top命令加解析方法,或者针对系统提供的“/proc/stat”文件解析法。这两种方案都存在非常复杂的解析算法,会导致整体获取到CPU使用率的速度非常的慢,并且还会占用大量的系统计算资源来对CPU的使用率来进行评估,对系统整体性能造成非常大的影响。

技术实现思路

[0003]鉴于上述问题,本专利技术提出了一种CPU使用率监控方法及装置,节省了获取CPU使用率时的采集开销,提高了系统整体性能。
[0004]第一方面,本申请通过一实施例提供如下技术方案:
[0005]一种CPU使用率监控方法,所述方法包括:
[0006]采用一预定义的目标变量在预设次数内进行循环计算;调用System.currentTime()函数获取所述目标变量进行首次循环计算时的起始时间;判断所述目标变量的循环计算次数是否达到所述预设次数的末次;若是,则调用System.currentTime()函数获取所述目标变量进行末次循环计算时的结束时间;根据所述起始时间与所述结束时间的时间差值,获得CPU的维度数据;其中,所述维度数据表示所述CPU的繁忙程度;基于等式Y=M/(delT*delT),获得所述CPU使用率的评估值;其中,Y为评估值,所述评估值用于评估所述CPU使用率的大小,M为调节系数,delT为维度数据;根据所述评估值,获得所述CPU的使用率。
[0007]优选地,所述采用一预定义的目标变量在预设次数内进行循环计算,包括:
[0008]对所述目标变量初始化为0;在所述预设次数内,对所述目标变量执行for循环,其中每次循环对所述目标变量进行加一循环。
[0009]优选地,所述判断所述目标变量的循环计算次数是否达到所述预设次数的末次,包括:
[0010]判断所述目标变量的值是否达到最大预设次数,若是则判断所述目标变量的当前计算次数为所述预设次数的末次。
[0011]优选地,所述根据所述评估值,获得所述CPU的使用率,包括:
[0012]判断所述评估值是否大于1;若所述评估值不大于1,则将所述评估值作为表征所述CPU的使用率的值;若所述评估值大于1,则对所述评估值进行除以10的运算直至首次获得小于1的调整值;其中,所述调整值为表征所述CPU的使用率的值。
[0013]优选地,M的取值为100。
[0014]优选地,所述根据所述维度数据与预设的调节系数,获得所述CPU的使用率之后,还包括:
[0015]周期性的判断所述CPU的使用率是否大于预设的使用阈值;若当前周期内所述CPU的使用率大于所述使用阈值,则向用户进行预警以避免所述CPU的使用率过大影响采集开销,所述采集开销为采集所述CPU的使用率时花费的开销。
[0016]优选地,所述若当前周期内所述CPU的使用率大于所述使用阈值,则向用户进行预警,包括:
[0017]定义一预警协议;所述协议包括一预警函数,所述预警函数的返回值为void类型,所述预警函数用于存储所述CPU的使用率以及用于描述当前系统环境的基本参数;定义所述预警协议的实现类;若所述CPU的使用率大于所述使用阈值,则通过所述预警协议的实现类对所述预警协议进行继承并复写所述预警函数,以向用户进行预警。
[0018]优选地,所述若所述CPU的使用率大于所述使用阈值,则通过所述预警协议的实现类对所述预警协议进行继承并复写所述预警函数,以向用户进行预警,包括:
[0019]若所述CPU的使用率大于所述使用阈值,则采用CacheCenter.get()从缓存中心获取唯一的Any类型的对象;将所述Any类型的对象转换为所述预警协议的对象;基于所述预警协议的对象,调用setCpuUsage()方法以及setSInfo方法,将所述CPU的使用率以及所述基本参数组装为一个包裹对象;调用Gson.toString()方法将所述包裹对象转化为string类型的对象str,并将所述对象str存储到预设的File类对象中;通过HTTP协议将存储有所述对象str的File类对象进行上报以向用户进行预警。
[0020]第二方面,基于同一专利技术构思,本申请通过一实施例提供如下技术方案:
[0021]一种CPU使用率监控装置,所述装置包括:
[0022]循环计算模块,用于采用一预定义的目标变量在预设次数内进行循环计算;起始时间获取模块,用于调用System.currentTime()函数获取所述目标变量进行首次循环计算时的起始时间;结束时间获取模块,用于判断所述目标变量的循环计算次数是否达到所述预设次数的末次;若是,则调用System.currentTime()函数获取所述目标变量进行末次循环计算时的结束时间;评估值获取模块,用于基于等式Y=M/(delT*delT),获得所述CPU使用率的评估值;其中,Y为评估值,所述评估值用于评估所述CPU使用率的大小,M为调节系数,delT为维度数据;使用率获取模块,用于根据所述评估值,获得所述CPU的使用率。
[0023]第三方面,基于同一专利技术构思,本申请通过一实施例提供如下技术方案:
[0024]一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
[0025]在本专利技术实施例提供的一种CPU使用率监控方法及装置,其中方法通过采用一预定义的目标变量在预设次数内进行循环计算;然后对循环计算的起始时间(即首次计算的时间)以及循环计算的结束时间(即末次计算的时间)进行记录。然后根据所述起始时间与所述结束时间的时间差值,得到CPU的维度数据;该维度数据是根据对目标变量循环计算所花费的时长来获得,可以表征CPU的繁忙程度;而对目标变量的循环计算可以为简单的计算,不需要使用top命令,更不需要对CPU的数据文件进行解析等操作,大大节省了CPU使用率的采集开销,节省了CPU资源。进一步的,基于等式Y=M/(delT*delT),获得CPU使用率的
评估值,实现维度数据向CPU使用率进行映射转化。最后,对评估值进行调整,得到CPU的使用率,可最大程度的还原CPU的真实使用率情况。因此,通过本专利技术来对CPU的使用率进行监控,可节省获取CPU使用率时的采集开销,节省CPU资源,提高了系统整体性能。
[0026]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CPU使用率监控方法,其特征在于,所述方法包括:采用一预定义的目标变量在预设次数内进行循环计算;调用System.currentTime()函数获取所述目标变量进行首次循环计算时的起始时间;判断所述目标变量的循环计算次数是否达到所述预设次数的末次;若是,则调用System.currentTime()函数获取所述目标变量进行末次循环计算时的结束时间;根据所述起始时间与所述结束时间的时间差值,获得CPU的维度数据;其中,所述维度数据表示所述CPU的繁忙程度;基于等式Y=M/(delT*delT),获得所述CPU使用率的评估值;其中,Y为评估值,所述评估值用于评估所述CPU使用率的大小,M为调节系数,delT为维度数据;根据所述评估值,获得所述CPU的使用率。2.根据权利要求1所述的方法,其特征在于,所述采用一预定义的目标变量在预设次数内进行循环计算,包括:对所述目标变量初始化为0;在所述预设次数内,对所述目标变量执行for循环,其中每次循环对所述目标变量进行加一。3.根据权利要求2所述的方法,其特征在于,所述判断所述目标变量的循环计算次数是否达到所述预设次数的末次,包括:判断所述目标变量的值是否达到最大预设次数,若是则判断所述目标变量的当前计算次数为所述预设次数的末次。4.根据权利要求1所述的方法,其特征在于,所述根据所述评估值,获得所述CPU的使用率,包括:判断所述评估值是否大于1;若所述评估值不大于1,则将所述评估值作为表征所述CPU的使用率的值;若所述评估值大于1,则对所述评估值进行除以10的运算直至首次获得小于1的调整值;其中,所述调整值为表征所述CPU的使用率的值。5.根据权利要求1所述的方法,其特征在于,M的取值为100。6.根据权利要求1所述的方法,其特征在于,所述根据所述维度数据与预设的调节系数,获得所述CPU的使用率之后,还包括:周期性的判断所述CPU的使用率是否大于预设的使用阈值;若当前周期内所述CPU的使用率大于所述使用阈值,则向用户进行预警以避免所述CPU的使用率过大影响采集开销,所述采集开销为采集所述CPU的使用率时花费的开销。7.根据权利要求6所述的方法,其特征在于,所述若当前周期内所述CPU的使用率大于所述使用阈值,则向用户进行预警,包括:定义一预警协议;所述...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1