CPU占有率检测方法、CPU占有率检测装置及电子设备与流程

文档序号:20874887发布日期:2020-05-26 16:21阅读:222来源:国知局
CPU占有率检测方法、CPU占有率检测装置及电子设备与流程

本公开涉及数据处理技术领域,尤其涉及cpu占有率检测方法、cpu占有率检测装置及电子设备和计算机可读存储介质。



背景技术:

当今人们的生活中,如手机、平板电脑等智能终端设备是用户不可缺少的物品之一,并且为了满足用户的各种需求,开发出了各种应用(app),能够满足用户多样的要求,以及更高效的体验。

然而在使用各种应用的过程中,很多时候终端设备可能会发热发烫等情况,原因是cpu使用率过高,cpu占用过于频繁,会使整个终端设备无法响应用户,整体性能降低,用户体验变差,也容易引起应用程序无响应(applicationnotresponding,anr)等等一系列问题。而用户仅关闭应用程序也往往不能解决上述问题,通过关机重启终端设备会十分费时,并且均无法根本的发现和解决上述问题。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种cpu占有率检测方法、cpu占有率检测装置及电子设备和计算机可读存储介质。

根据本公开实施例的第一方面,提供一种cpu占有率检测方法,应用于终端设备,方法包括:确定待测应用,待测应用包括一个或多个进程;运行待测应用;结束运行待测应用;抓取进程在时间区间内的出现次数;获取检测报告,其中,检测报告至少包括进程的名称以及出现次数。

在一实施例中,在结束运行待测应用之后,方法还包括:静置一等待时间,在经历等待时间之后,执行抓取进程在时间区间内的出现次数的步骤。

在一实施例中,运行待测应用采用以下任一方式:响应于用户指令运行待测应用;或通过压力测试运行待测应用。

在一实施例中,抓取进程在时间区间内的出现次数,包括:在时间区间内,通过多次检测cpu,获取cpu的多个进程列表;基于多个进程列表,确定进程的出现次数。

在一实施例中,检测报告还包括进程的出现频率;获取检测报告,包括:基于检测cpu的次数以及进程的出现次数,确定进程的出现频率。

在一实施例中,方法还包括:若出现次数超出次数阈值或出现频率超出频率阈值,则显示提示信息,用于提示用户。

在一实施例中,获取检测报告,包括:发送检测信息至服务器,其中检测信息包括进程的名称、检测cpu的次数以及出现次数;接收服务器基于检测信息生成的检测报告。

根据本公开实施例的第二方面,提供一种cpu占有率检测装置,应用于终端设备,装置包括:确定单元,用于确定待测应用,待测应用包括一个或多个进程;运行单元,用于运行待测应用;并用于结束运行待测应用;抓取单元,用于抓取进程在时间区间内的出现次数;报告单元,用于获取检测报告,其中,检测报告至少包括进程的名称以及出现次数。

在一实施例中,装置还包括:静置单元,用于在运行单元结束运行待测应用后,静置一等待时间,在经历等待时间之后,通过抓取单元执行抓取进程在时间区间内的出现次数的步骤。

在一实施例中,运行单元用于:响应于用户指令运行待测应用;或通过压力测试运行待测应用。

在一实施例中,抓取单元用于:在时间区间内,通过多次检测cpu,获取cpu的多个进程列表;基于多个进程列表,确定进程的出现次数。

在一实施例中,检测报告还包括进程的出现频率;报告单元还用于:基于检测cpu的次数以及进程的出现次数,确定进程的出现频率。

在一实施例中,装置还包括:提示单元,当出现次数超出次数阈值或出现频率超出频率阈值时,用于显示提示信息,以提示用户。

在一实施例中,报告单元包括:发送单元,用于发送检测信息至服务器,其中检测信息包括进程的名称、检测cpu的次数以及出现次数;接收单元,用于接收服务器基于检测信息生成的检测报告。

根据本公开实施例的第三方面,提供一种电子设备,包括:存储器,用于存储指令;以及处理器,用于调用存储器存储的指令执行第一方面的cpu占有率检测方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,存储有指令,指令被处理器执行时,执行第一方面的cpu占有率检测方法。

本公开的实施例提供的技术方案可以包括以下有益效果:通过在结束运行应用后,检测cpu中仍然存在的进程的出现次数,并生成报告,从而使得用户能够获知持续或过多占用cpu的进程,便于调整应用或进程,避免出现发热发烫、卡顿、性能降低等情况。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种cpu占有率检测方法的流程示意图;

图2是根据一示例性实施例示出的另一种cpu占有率检测方法的流程示意图;

图3是根据一示例性实施例示出的一种cpu占有率检测装置的示意框图;

图4是根据一示例性实施例示出的另一种cpu占有率检测装置的示意框图;

图5是根据一示例性实施例示出的一种装置的示意框图。

图6是根据一示例性实施例示出的一种电子装置的示意框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

一些相关技术中,通过cpu检测服务核心算法:原生cpu测试使用adbshelltop命令,能够实时对cpu进行状态监视,得到占用cpu的进程,但其中cpu倍频(cpuratio)为0%的进程,是因为程序在计算时,使用除法,导致cpu倍频不足1%的话,就会显示0%,但是cpu倍频为0%的进程,并不能说明没有使用cpu。

为解决上述问题,本公开本实施例提供一种cpu占有率检测方法10,本方法可以运行于终端设备,如手机、平板电脑,也包括智能音箱等智能终端设备,参见图1,cpu占有率检测方法10包括步骤s11-步骤s15,以下对各步骤进行详细说明:

步骤s11,确定待测应用,待测应用包括一个或多个进程。

可以在终端设备中设置一服务,也可以在终端设备中设置一个用于检测的应用或一个apk(androidapplicationpackage,安卓应用程序包),用户可以手动启动也可以通过服务器进行启动。启动后,确认要检测的待测应用,以检测该应用的进程是否存在过多占用cpu的情况,一个待测应用可以包括一个或多个进程,可以对待测应用的全部进程同时进行检测,也可以通过用户确定,检测其中的一个或部分几个。

步骤s12,运行待测应用。

在确定需要检测的对象后,运行待测应用,以激活待测应用中的进程。在一实施例中,可以响应于用户指令运行待测应用,即通过用户直接操作,启动并运行待测应用。在另一例中,也可以通过压力测试运行待测应用,其中压力测试为monkeytest,能够模拟用户的按键输入,触摸屏输入,手势输入等行为,通过压力测试运行待测应用能够提高效率。

步骤s13,结束运行待测应用。

在运行待测应用后,结束运行,以便于检测在结束运行待测应用后,是否存在该待测应用的进程仍在占用或过多占用cpu的情况。可以通过用户关闭待测应用,也可以通过停止执行压力测试。

步骤s14,抓取进程在时间区间内的出现次数。

在待测应用停止运行后,在一时间区间,如3秒内,抓取待测应用的进程仍然出现的次数。通过抓取进程的出现次数,而不是cpu倍频(cpuratio),能够更加准确体现cpu的占用情况,如果在待测应用停止运行后,监测到仍旧有待测应用的进程轮询,或出现频次过高,则说明该进程异常的占用了cpu。

在一实施例中,步骤s14,可以包括在时间区间内,通过多次检测cpu,获取cpu的多个进程列表;基于多个进程列表,确定进程的出现次数。本实施例中,可以在时间区间内,通过adbshelltop命令对cpu进行多次检测,如50次,获取cpu的多个进程列表,即每次检测中占用cpu的进程。统计待测应用的进程在这多次检测中出现的次数,从而体现该进程对cpu的异常占用情况,避免仅通过cpu倍频而不能得到准确可靠的检测结果。

步骤s15,获取检测报告,其中,检测报告至少包括进程的名称以及出现次数。

根据前述检测得到的进程的出现次数,生成检测报告。其中,检测报告可以包括进程的名称以及出现次数,还可以包括基于检测次数和出现次数得到的进程的出现频率,相比出现次数,出现频率更能够提现占用情况。在一实施例中,若出现次数超出次数阈值或出现频率超出频率阈值,则可以通过终端设备的显示屏显示提示信息,也可以在检查报告中进行单独提示,用于提示用户存在影响终端设备性能的异常进程。

在一实施例中,步骤s15可以包括:发送检测信息至服务器,其中检测信息包括进程的名称、检测cpu的次数以及出现次数;接收服务器基于检测信息生成的检测报告。本实施例中,可以在服务器端生成检测报告,便于统计、分析以及诊断。通过终端设备将检测得到的信息发送至服务器,服务器进行计算,并生成检测报告,并将检测报告发送给终端设备,便于用户查看。

在一实施例中,如图2所示,在步骤s13之后,cpu占有率检测方法10还可以包括:步骤s131,静置一等待时间,在经历等待时间之后,执行步骤s14。在结束运行待测应用后,直接进行检测可能会出现误差,一些应用的进程在应用停止运行后需要继续提供一些必要、合理服务,因此,设置一等待时间,如10分钟,在经历等待时间后,再进行步骤s14的检查,从而保证了检测结果的准确性。

通过上述任一实施例,用户能过高效准确的检测待测应用中,是否存在过多占用cpu的异常进程,便于调整应用或进程,避免出现发热发烫、卡顿、性能降低等情况。

基于同一个发明构思,图3示出了一种cpu占有率检测装置100,应用于终端设备,如图3所示,cpu占有率检测装置100包括:确定单元110,用于确定待测应用,待测应用包括一个或多个进程;运行单元120,用于运行待测应用;并用于结束运行待测应用;抓取单元130,用于抓取进程在时间区间内的出现次数;报告单元140,用于获取检测报告,其中,检测报告至少包括进程的名称以及出现次数。

在一实施例中,如图4所示,cpu占有率检测装置100,还包括:静置单元121,用于在运行单元120结束运行待测应用后,静置一等待时间,在经历等待时间之后,通过抓取单元130执行抓取进程在时间区间内的出现次数的步骤。

在一实施例中,运行单元120用于:响应于用户指令运行待测应用;或通过压力测试运行待测应用。

在一实施例中,抓取单元130用于:在时间区间内,通过多次检测cpu,获取cpu的多个进程列表;基于多个进程列表,确定进程的出现次数。

在一实施例中,检测报告还包括进程的出现频率;报告单元140还用于:基于检测cpu的次数以及进程的出现次数,确定进程的出现频率。

在一实施例中,cpu占有率检测装置100还包括:提示单元,当出现次数超出次数阈值或出现频率超出频率阈值时,用于显示提示信息,以提示用户。

在一实施例中,报告单元140包括:发送单元,用于发送检测信息至服务器,其中检测信息包括进程的名称、检测cpu的次数以及出现次数;接收单元,用于接收服务器基于检测信息生成的检测报告。

关于上述实施例中的cpu占有率检测装置100,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的前述任一实施例装置的示意框图。例如,装置300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图5,装置300可以包括以下一个或多个组件:处理组件302,存储器304,电力组件306,多媒体组件308,音频组件310,输入/输出(i/o)的接口312,传感器组件314,以及通信组件316。

处理组件302通常控制装置300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件302可以包括一个或多个处理器320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理组件302可以包括多媒体模块,以方便多媒体组件308和处理组件302之间的交互。

存储器304被配置为存储各种类型的数据以支持在装置300的操作。这些数据的示例包括用于在装置300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电力组件306为装置300的各种组件提供电力。电力组件306可以包括电源管理系统,一个或多个电源,及其他与为装置300生成、管理和分配电力相关联的组件。

多媒体组件308包括在所述装置300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件308包括一个前置摄像头和/或后置摄像头。当设备300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(mic),当装置300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。

i/o接口312为处理组件302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件314包括一个或多个传感器,用于为装置300提供各个方面的状态评估。例如,传感器组件314可以检测到装置300的打开/关闭状态,组件的相对定位,例如所述组件为装置300的显示器和小键盘,传感器组件314还可以检测装置300或装置300一个组件的位置改变,用户与装置300接触的存在或不存在,装置300方位或加速/减速和装置300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件316被配置为便于装置300和其他设备之间有线或无线方式的通信。装置300可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件316还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置300可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器304,上述指令可由装置300的处理器320执行以完成上述方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

图6是根据一示例性实施例示出的一种电子装置400的框图。例如,装置400可以被提供为一服务器。参照图6,装置400包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。

装置400还可以包括一个电源组件426被配置为执行装置300的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(i/o)接口458。装置400可以操作基于存储在存储器432的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1