CN107526668A - Cpu监控方法和装置、计算机设备、计算机可读存储介质 - Google Patents

Cpu监控方法和装置、计算机设备、计算机可读存储介质 Download PDF

Info

Publication number
CN107526668A
CN107526668A CN201710648984.8A CN201710648984A CN107526668A CN 107526668 A CN107526668 A CN 107526668A CN 201710648984 A CN201710648984 A CN 201710648984A CN 107526668 A CN107526668 A CN 107526668A
Authority
CN
China
Prior art keywords
cpu
grade
occupancy
takes
working condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710648984.8A
Other languages
English (en)
Other versions
CN107526668B (zh
Inventor
王彬
帅朝春
张俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201710648984.8A priority Critical patent/CN107526668B/zh
Publication of CN107526668A publication Critical patent/CN107526668A/zh
Application granted granted Critical
Publication of CN107526668B publication Critical patent/CN107526668B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Abstract

本发明涉及一种CPU监控方法和装置、计算机设备、计算机可读存储介质。所述方法包括:定时获取CPU占用等级;从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。上述CPU监控方法和装置、计算机设备、计算机可读存储介质,可以避免在CPU占用率不断变化的时候,引起CPU的工作状态判断结果的不稳定,从而提高了CPU监控的准确性。

Description

CPU监控方法和装置、计算机设备、计算机可读存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及CPU监控方法和装置、计算机设备、计算机可读存储介质。
背景技术
电子设备从非智能走向智能化,给人们的生活和工作都带来了革命性的变化。相对于非智能化的电子设备来说,智能化的电子设备能够更好地学习和记忆人们的行为,更快更智能地处理应用事件,使人们的吃穿住行变得更加地便捷和智能。智能终端在处理各个应用事件的时候,需要通过统一的CPU(Central Processing Unit,中央处理器)去运行和管理应用事件,以便于资源被更有效地利用。
而在实际的运行过程中,往往会由于用户的频繁操作或恶意程序的恶意操作,导致CPU的资源被大量地无效占用,使得CPU的负担加重,造成智能终端的卡顿。而通过硬件的升级和改进,可以在一定程度上减少CPU的负担。但这样往往会耗费大量地成本,且改进效果不佳。
发明内容
本发明实施例提供一种CPU监控方法和装置、计算机设备、计算机可读存储介质,可以提高CPU监控的准确性。
一种CPU监控方法,所述方法包括:
定时获取CPU占用等级;
从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;
若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
一种CPU监控装置,所述装置包括:
等级获取模块,用于定时获取CPU占用等级;
数量获取模块,用于从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;
状态获取模块,用于若所述数量超过阈值,则确定所述CPU的工作状态为所述当前CPU占用等级对应的工作状态。
一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机可读指令,所述指令被所述处理器执行时,使得所述处理器执行如下方法:
定时获取CPU占用等级;
从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;
若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行如下方法:
定时获取CPU占用等级;
从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;
若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
本申请实施例提供的CPU监控方法和装置、计算机设备、计算机可读存储介质,定时获取CPU的占用等级,在形成的占用等级序列中获取连续且相同的占用等级的数量,如果数量超过阈值则说明CPU在该占用等级中已经稳定,则将CPU的工作状态判断为该占用等级对应的工作状态。这样可以避免在CPU占用率不断变化的时候,引起CPU的工作状态判断结果的不断变化,提高了监控的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中CPU监控方法的应用环境图;
图2为一个实施例中电子设备的内部结构示意图;
图3为一个实施例中CPU监控方法的流程图;
图4为另一个实施例中CPU监控方法的流程图;
图5为一个实施例中CPU监控结果的展示示意图;
图6为一个实施例中根据CPU监控结果生成的报表的展示图;
图7为一个实施例中CPU监控装置的结构示意图;
图8为与本发明实施例提供的计算机设备相关的手机的部分结构的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中CPU监控方法的应用环境图。如图1所示,该应用环境图包括用户终端102和服务器104。用户终端102可以用于获取CPU占用等级,并统计获取CPU占用等级的数量,并根据统计的数量判断CPU的工作状态。服务器104可以用于接收用户终端102发送的阈值获取请求,根据该阈值获取请求查找阈值,并向用户终端102返回阈值。其中,用户终端102是处于计算机网络最外围,主要用于输入用户信息以及输出处理结果的电子设备,例如可以是个人电脑、移动终端、个人数字助理、可穿戴电子设备等。服务器104是用于响应服务请求,同时提供计算服务的设备,例如可以是一台或者多台计算机。可以理解的是,在其他实施例中,CPU监控方法的应用环境可以只包括用户终端102,即用户终端102用于获取CPU占用等级,并统计获取CPU占用等级的数量,并根据统计的数量判断CPU的工作状态,其中用户终端102可以存储阈值。
图2为一个实施例中电子设备的内部结构示意图。如图2所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统和计算机可读指令。该计算机可读指令被处理器执行时以实现一种CPU监控方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。电子设备中的内存储器为非易失性存储介质中的计算机可读指令的运行提供环境。电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该电子设备可以是计算机、手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中CPU监控方法的流程图。如图3所示,该CPU监控方法包括步骤302指步骤306。其中:
步骤302,定时获取CPU占用等级。
在一个实施例中,CPU是指电子设备中提供运算和控制功能的结构,可以是一块大规模的集成电路,主要用于解释计算机指令和处理计算机软件中的数据。当电子设备在运行计算机软件时,需要通过CPU处理应用事件时,CPU资源就被占用。
CPU占用等级就是用来表示CPU资源被占用的程度的相关参数。一般地,CPU占用等级越高,说明CPU资源被占用得越多;CPU占用等级越低,说明CPU资源被占用得越少。定时获取CPU占用等级,就是间隔一定的时间获取一次CPU的占用等级。例如,每10S获取一次CPU的占用等级。
步骤304,从CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与当前CPU占用等级连续的CPU占用等级的数量。
在本发明提供的实施例中,定时获取CPU占用等级,获取到的所有CPU占用等级可以形成一个占用等级序列,该占用等级序列反映了历史获取的CPU占用等级的变化情况。具体地,该占用等级序列可以反映获取到的各个CPU占用等级以及获取的时间。当前CPU占用等级是指当前时刻所获取的CPU占用等级,可以理解的是,占用等级序列中也包含了当前CPU占用等级。获取的与当前CPU占用等级相同且与当前CPU占用等级连续的CPU占用等级,也包含了当前CPU占用等级本身。若占用等级序列中是按获取CPU占用等级的时间由先到后的顺序进行排列的,则当前CPU占用等级即为该占用等级序列最末位的CPU占用等级。
在该占用等级序列中的各个CPU占用等级中,获取与当前CPU占用等级相同且与当前CPU占用等级连续的CPU占用等级,并统计所获取的CPU占用等级的数量。例如,在占用等级序列中,根据获取时间由后到先所对应的CPU占用等级分别为L1、L1、L1、L2、L3、L1、L3...。那么,当前CPU占用等级就为占用等级序列中最首位的CPU占用等级L1。统计与当前CPU占用等级L1相同的CPU占用等级,且与当前CPU占用等级L1连续的CPU占用等级的数量就为3。
在一个实施例中,步骤304具体可以包括:每次获取到CPU占用等级时,将获取到的CPU占用等级对应的数量加一,并将除所述获取到的CPU占用等级之外的其他CPU占用等级的数量清零;获取当前CPU占用等级对应的数量。例如,CPU占用等级可以分为L1、L2和L3,对应的数量分别为0、3、0。若下一次获取到的CPU占用等级为L3,那么将L3对应的数量加一,L1和L2对应的数量清零,得到L1、L2、L3对应的数量分别为0、0、1。
步骤306,若数量超过阈值,则确定CPU的工作状态为当前CPU占用等级对应的工作状态。
在一个实施例中,阈值是预先设置的用于判断CPU的工作状态是否改变的数量的取值。CPU的工作状态是指用于表示CPU当前的工作繁忙程度的指标,一般情况下,CPU的工作状态可以但不限于包括繁忙状态和空闲状态。若CPU当前处于繁忙状态下,则说明CPU运行的任务较多,CPU当前的负担较重;若CPU当前处于空闲状态下,则说明CPU运行的任务较少,CPU当前的负担较轻。
在本发明提供的实施例中,预先对每个CPU占用等级设置对应的工作状态,CPU占用等级和工作状态可以是一对一或者多对一的对应关系。获取CPU占用等级之后,就可以根据获取到的CPU占用等级和该对应关系,获取对应的工作状态。例如,CPU占用等级可以分为L1、L2、L3和L4,其中,L1和L2对应为空闲状态,L3和L4对应为繁忙状态。若获取到的CPU占用等级为L1,那么对应的工作状态就为空闲状态。
若获取的与当前CPU占用等级相同且与当前CPU占用等级连续的CPU占用等级的数量超过了阈值,说明CPU已经在当前CPU占用等级的状态下维持了一段时间了,则认为CPU在该工作状态下已经稳定,并将CPU的工作状态确定为当前CPU占用等级所对应的工作状态。
例如,当前CPU占用等级为L1,对应的工作状态为空闲状态,统计与当前CPU占用等级L1相同且连续的CPU占用等级的数量为8,统计的该数量超过了阈值5,则确定CPU当前为空闲状态。
上述CPU监控方法,定时获取CPU的占用等级,在形成的占用等级序列中获取连续且相同的占用等级的数量,如果数量超过阈值则说明CPU在该占用等级中已经稳定,则将CPU的工作状态判断为该占用等级对应的工作状态。这样可以避免在CPU占用率不断变化的时候,引起CPU工作状态判断结果的不稳定,提高了监控的准确性。
图4为另一个实施例中CPU监控方法的流程图。如图4所示,该CPU监控方法包括步骤402至步骤412。其中:
步骤402,定时获取CPU占用率,并根据每次获取的CPU占用率获取对应的CPU占用等级。
在本发明提供的实施例中,CPU占用率可以是指被占用的CPU资源与全部的CPU资源的比率,也可以是指CPU执行任务的时间与总工作时间的比率。一般地,CPU占用率可以但不限于是用百分比的形式来体现,以具体的百分比数值来表示具体被占用的CPU资源或CPU资源被占用的时间。例如,CPU占用率为50%,则表示有50%的CPU资源被占用,也可以表示在总的工作时间中,有50%的时间CPU资源是被占用的。
预先设置CPU占用率和CPU占用等级的对应关系,根据该对应关系和获取的CPU占用率可以获取到CPU占用等级。可以理解的是,该对应关系可以通过服务器推送给用户终端,也可以是用户终端本地存储的。例如,当CPU占用率为0%~20%时,CPU占用等级为L1;当CPU占用率为20%~40%时,CPU占用等级为L2;当CPU占用率为40%~60%时,CPU占用等级为L3;当CPU占用率为60%~80%时,CPU占用等级为L4;当CPU占用率为80%~100%时,CPU占用等级为L5。
在一个实施例中,可以定时在预设存储地址中获取监控日志文件,并根据该监控日志文件获取CPU占用率。其中,预设存储地址是指预先设置的存放监控日志文件的地址,监控日志文件中记录了CPU从开启到当前时刻的具体运行情况的变化。在预设存储地址中,可以根据监控日志文件标识查找监控日志文件。监控日志文件标识就是指区分监控日志文件的唯一标识,例如监控日志文件的名称和编号等。
具体地,该预设存储地址中可以包含若干个子文件夹,这些子文件夹中存储着各个进程日志文件。进程日志文件记录了进程从开启到当前时刻的具体运行情况的变化,根据这些进程日志文件就可以获取该进程所占用CPU资源的情况,即可获取进程对应的CPU占用率。其中,进程是指CPU进行资源分配的调度的基本单位,也是CPU执行任务的基本单位。可以理解的是,根据监控日志文件可以获取总的CPU占用率,根据进程日志文件可以获取各个进程的CPU占用率,而总的CPU占用率是由各个进程对应的占用率所组成的。
例如,Android系统中,在/proc目录中可以读取到存储CPU总占用信息的监控日志文件。其中,/proc目录下包含了多个子文件夹,这些子文件夹中存储了各个进程对应的CPU占用信息的进程日志文件。/proc目录中存储的监控日志文件的文件名为“stat”,/proc目录中的子文件夹中存储了进程日志文件,进程日志文件的文件名为“stat”。/proc目录下的stat文件记录了CPU的总占用信息,/proc目录下的子文件夹中的stat文件记录了各个进程的CPU占用信息。比如,/proc/pid目录下的stat文件记录了pid进程的CPU占用信息,其中pid为进程标识。
在本发明提供的实施例中,监控日志文件中记录了CPU的累积工作时间,累积工作时间即为CPU从开启到当前时刻的时间内,真正执行任务的时间。每次获取监控日志文件时,可以读取对应的累积工作时间,两次读取的累积工作时间的差值即为CPU真正的工作时间。具体地,间隔预设时长读取一次监控日志文件;计算当前获取到的监控日志文件所对应的累积工作时间,与上一次获取到的监控日志文件对应的累积工作时间的时间差值;该时间差值与该预设时长的比值即为CPU占用率。
步骤404,每次获取到CPU占用等级时,判断获取到的CPU占用等级对应的工作状态,若该工作状态为空闲状态,则执行步骤406;若该工作状态为繁忙状态,则执行步骤408。
在本发明提供的实施例中,步骤402定时获取CPU占用率,并根据CPU占用率获取对应的CPU占用等级。每次到达定时时间时,获取到CPU占用等级之后,就能获取到CPU占用等级对应的工作状态,并根据工作状态的不同去执行不同的操作。
步骤406,若该工作状态为空闲状态,则将空闲状态对应的所有CPU占用等级的数量加一,并将繁忙状态对应的所有CPU占用等级的数量清零。
在一个实施例中,若根据步骤404判断获取到的CPU占用等级对应的为空闲状态,则将空闲状态对应的所有CPU占用等级的数量加一,并将繁忙状态对应的所有CPU占用等级的数量清零。
例如,L1对应为空闲状态,L2、L3和L4对应为繁忙状态,L1、L2、L3、L4对应的原始数量分别为0、1、3、0。若获取到的CPU占用等级为L1,L1对应的工作状态为空闲状态,则将空闲状态对应的所有CPU占用等级的数量加一,繁忙状态对应的所有CPU占用等级的数量清零。即得到L1对应的数量加一,L2、L3、L4对应的数量清零,最后得到的L1、L2、L3、L4对应的数量分别为1、0、0、0。
步骤408,若该工作状态为繁忙状态,则将与繁忙状态对应的CPU占用等级中,小于或等于获取到的CPU占用等级的CPU占用等级的数量加一,大于获取到的CPU占用等级的CPU占用等级的数量清零,并将空闲状态对应的CPU占用等级的数量清零。
在一个实施例中,空闲状态对应的CPU占用等级可以有一个或多个,繁忙状态对应的CPU占用等级也可以有一个或者多个。若根据步骤402判断获取到的CPU占用等级对应的为繁忙状态,则将与繁忙状态对应的CPU占用等级中,小于或等于获取到的CPU占用等级的CPU占用等级的数量加一,并大于获取到的CPU占用等级的CPU占用等级的数量清零。同时,将空闲状态对应的CPU占用等级的数量也清零。
例如,L1对应为空闲状态,L2、L3和L4对应为繁忙状态,且CPU占用等级从L1到L4是逐渐递增的。如获取到的CPU占用等级为L3,则将与繁忙状态对应的CPU占用等级中,小于或等于获取到的CPU占用等级的CPU占用等级的数量加一,即将L2和L3对应的数量加一,L1和L4的数量清零。
步骤410,获取当前CPU占用等级对应的数量。
在一个实施例中,定时获取CPU占用等级,每次获取到CPU占用等级时根据步骤404到步骤408,来统计CPU占用等级对应的数量。可以理解的是,每次获取到CPU占用等级时,CPU占用等级对应的数量就会发生变化。
当前CPU占用等级就是指当前时刻获取的CPU占用等级,也就是最近一次获取的CPU占用等级。当获取到当前CPU占用等级后,各个CPU占用等级所对应的数量也会发生变化。根据步骤404到步骤408的统计结果,获取当前CPU占用等级所对应的数量。
步骤412,若数量超过当前CPU占用等级对应的阈值,则确定CPU的工作状态为当前CPU占用等级对应的工作状态。
在本实施例中,阈值是用于判断CPU占用等级的变化是否稳定的筛选条件,当CPU占用等级对应的数量超过阈值,则认为在CPU占用等级已经稳定。可以理解的是,该阈值可以通过服务器推送给终端,也可以是在用户终端本地进行存储的。在对各个CPU占用等级对应数量进行判断的时候,可以采用不同的判断标准,即采用不同的阈值进行判断。该阈值可以是与CPU占用等级相对应的,若CPU占用等级对应的数量超过该CPU占用等级对应的阈值,则认为CPU稳定在该CPU占用等级,那么就确定CPU当前的工作状态,为该CPU占用等级对应的工作状态。
在本发明提供的其他实施例中,步骤412之后还可以包括:若CPU的工作状态为繁忙状态,则获取各个进程对应的CPU占用率;若进程的CPU占用率大于占用阈值,则将该进程判断为异常进程;根据预设规则对该异常进程进行处理。具体地,获取各个进程对应的CPU占用率可以包括:在预设存储地址中获取各个进程对应的进程日志文件,并根据该进程日志文件获取各个进程对应的CPU占用率。其中,预设规则可以通过服务器进行推送,也可以是存储在用户终端的。
在一个实施例中,根据预设规则对该异常进程进行处理可以包括:获取异常程序的优先级,根据优先级将异常程序进行处理。例如,将优先级高于预设级别的异常程序进行查杀或者挂起,或者将所有异常程序的优先级进行排序,将优先级处于前三的异常程序进行保留,并将其他异常程序进行查杀。
根据预设规则对该异常进程进行处理还可以包括:获取用户输入的需要处理的异常进程及对应的处理规则,根据该处理规则对该需要处理的异常进程进行处理。例如,将所有异常进程在终端界面进行显示,用户根据显示的异常进程选择需要处理的异常进程,并选择对异常程序进行查杀还是挂起处理,然后根据用户输入的处理方式对异常进程进行处理。
图5为一个实施例中CPU监控结果的展示示意图。如图5所示,该CPU监控结果中展示了CPU当前的工作状态和异常进程,用户可以通过该终端界面展示的结果,选择需要处理的异常进程和对异常进程的处理方式。
图6为一个实施例中根据CPU监控结果生成的报表的展示图。如图6所示,在用户终端进行监控的过程中,可以根据用户终端一天之内产生的CPU异常的次数进行统计,并将统计的结果生成报表进行展示。CPU异常可以对应于某个CPU占用级别,例如CPU占用级别为L4时,定义为CPU异常。可以理解的是,该报表还可以是服务器根据各个用户终端上传的CPU监控结果生成的。具体地,用户终端可以将CPU的监控结果上传到服务器,服务器针对所有用户终端的CPU监控结果进行统计,并生成CPU监控结果的报表。通过该报表可以清楚地掌握CPU的工作情况。
上述CPU监控方法,定时获取CPU占用率,并根据每次获取的CPU占用率获取对应的CPU占用等级,然后根据每次获取的CPU占用等级统计对应的数量,当某一占用等级对应的数量达到阈值的时候,则认为CPU在该占用等级下稳定,并根据该CPU占用等级确定CPU的工作状态。这样可以避免在CPU占用率不断变化的时候,引起CPU的工作状态判断结果的不稳定,提高了CPU监控的准确性。
图7为一个实施例中CPU监控装置的结构示意图。如图7所示,该CPU监控装置700包括等级获取模块702、数量获取模块704和状态获取模块706。其中:
等级获取模块702,用于定时获取CPU占用等级。
数量获取模块704,用于从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量。
状态获取模块706,用于若所述数量超过阈值,则确定所述CPU的工作状态为所述当前CPU占用等级对应的工作状态。
上述CPU监控装置,定时获取CPU占用等级,在形成的占用等级序列中获取连续且相同的占用等级的数量,如果数量超过阈值则说明CPU在该占用等级中已经稳定,则将CPU的工作状态判断为该占用等级对应的工作状态。这样可以避免在CPU占用率不断变化的时候,引起CPU的工作状态判断结果的不稳定,提高了CPU监控的准确性。
在一个实施例中,等级获取模块702还用于定时获取CPU占用率,并根据每次获取的CPU占用率获取对应的CPU占用等级。
在本发明提供的实施例中,数量获取模块704还用于每次获取到CPU占用等级时,将获取到的CPU占用等级对应的数量加一,并将除所述获取到的CPU占用等级之外的其他CPU占用等级的数量清零;获取当前CPU占用等级对应的数量。
在其中一个实施例中,数量获取模块704还用于每次获取到CPU占用等级时,判断获取到的CPU占用等级对应的工作状态;若所述工作状态为空闲状态,则将所述空闲状态对应的所有CPU占用等级的数量加一,并将繁忙状态对应的所有CPU占用等级的数量清零;若所述工作状态为繁忙状态,则将与所述繁忙状态对应的CPU占用等级中,小于或等于所述获取到的CPU占用等级的CPU占用等级的数量加一,大于所述获取到的CPU占用等级的CPU占用等级的数量清零,并将所述空闲状态对应的CPU占用等级的数量清零;获取当前CPU占用等级对应的数量。
在一个实施例中,状态获取模块706还用于若所述数量超过当前CPU占用等级对应的阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
上述CPU监控装置中各个模块的划分仅用于举例说明,在其他实施例中,可将CPU监控装置按照需要划分为不同的模块,以完成上述CPU监控装置的全部或部分功能。
本发明实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行以下步骤:
定时获取CPU占用等级;
从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;
若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
在一个实施例中,被处理器执行的所述定时获取CPU的占用等级包括:
定时获取CPU占用率,并根据每次获取的CPU占用率获取对应的CPU占用等级。
在其中一个实施例中,被处理器执行的所述从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量包括:
每次获取到CPU占用等级时,将获取到的CPU占用等级对应的数量加一,并将除所述获取到的CPU占用等级之外的其他CPU占用等级的数量清零;
获取当前CPU占用等级对应的数量。
在本发明提供的实施例中,被处理器执行的所述从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量包括:
每次获取到CPU占用等级时,判断获取到的CPU占用等级对应的工作状态;
若所述工作状态为空闲状态,则将所述空闲状态对应的所有CPU占用等级的数量加一,并将繁忙状态对应的所有CPU占用等级的数量清零;
若所述工作状态为繁忙状态,则将与所述繁忙状态对应的CPU占用等级中,小于或等于所述获取到的CPU占用等级的CPU占用等级的数量加一,大于所述获取到的CPU占用等级的CPU占用等级的数量清零,并将所述空闲状态对应的CPU占用等级的数量清零;
获取当前CPU占用等级对应的数量。
在一个实施例中,被处理器执行的所述若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态包括:
若所述数量超过当前CPU占用等级对应的阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
本发明实施例还提供了一种计算机设备。如图8所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以计算机设备为手机为例:
图8为与本发明实施例提供的计算机设备相关的手机的部分结构的框图。参考图8,手机包括:射频(Radio Frequency,RF)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(wireless fidelity,WiFi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图8所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路810可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器880处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元830可用于接收输入的数字或字符信息,以及产生与手机800的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841。在一个实施例中,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板841。在一个实施例中,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图8中,触控面板831与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。
手机800还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路860、扬声器861和传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810可以发送给另一手机,或者将音频数据输出至存储器820以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块870,但是可以理解的是,其并不属于手机800的必须构成,可以根据需要而省略。
处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器880可包括一个或多个处理单元。在一个实施例中,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
手机800还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机800还可以包括摄像头、蓝牙模块等。
在本发明实施例中,该移动终端所包括的处理器880执行存储在存储器上的计算机程序时实现以下步骤:
定时获取CPU占用等级;
从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;
若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
在一个实施例中,被处理器执行的所述定时获取CPU的占用等级包括:
定时获取CPU占用率,并根据每次获取的CPU占用率获取对应的CPU占用等级。
在其中一个实施例中,被处理器执行的所述从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量包括:
每次获取到CPU占用等级时,将获取到的CPU占用等级对应的数量加一,并将除所述获取到的CPU占用等级之外的其他CPU占用等级的数量清零;
获取当前CPU占用等级对应的数量。
在本发明提供的实施例中,被处理器执行的所述从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量包括:
每次获取到CPU占用等级时,判断获取到的CPU占用等级对应的工作状态;
若所述工作状态为空闲状态,则将所述空闲状态对应的所有CPU占用等级的数量加一,并将繁忙状态对应的所有CPU占用等级的数量清零;
若所述工作状态为繁忙状态,则将与所述繁忙状态对应的CPU占用等级中,小于或等于所述获取到的CPU占用等级的CPU占用等级的数量加一,大于所述获取到的CPU占用等级的CPU占用等级的数量清零,并将所述空闲状态对应的CPU占用等级的数量清零;
获取当前CPU占用等级对应的数量。
在一个实施例中,被处理器执行的所述若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态包括:
若所述数量超过当前CPU占用等级对应的阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种CPU监控方法,其特征在于,所述方法包括:
定时获取CPU占用等级;
从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;
若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
2.根据权利要求1所述的CPU监控方法,其特征在于,所述定时获取CPU的占用等级包括:
定时获取CPU占用率,并根据每次获取的CPU占用率获取对应的CPU占用等级。
3.根据权利要求2所述的CPU监控方法,其特征在于,所述从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量包括:
每次获取到CPU占用等级时,将获取到的CPU占用等级对应的数量加一,并将除所述获取到的CPU占用等级之外的其他CPU占用等级的数量清零;
获取当前CPU占用等级对应的数量。
4.根据权利要求2所述的CPU监控方法,其特征在于,所述从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量包括:
每次获取到CPU占用等级时,判断获取到的CPU占用等级对应的工作状态;
若所述工作状态为空闲状态,则将所述空闲状态对应的所有CPU占用等级的数量加一,并将繁忙状态对应的所有CPU占用等级的数量清零;
若所述工作状态为繁忙状态,则将与所述繁忙状态对应的CPU占用等级中,小于或等于所述获取到的CPU占用等级的CPU占用等级的数量加一,大于所述获取到的CPU占用等级的CPU占用等级的数量清零,并将所述空闲状态对应的CPU占用等级的数量清零;
获取当前CPU占用等级对应的数量。
5.根据权利要求1至4任一项所述的CPU监控方法,其特征在于,所述若所述数量超过阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态包括:
若所述数量超过当前CPU占用等级对应的阈值,则确定CPU的工作状态为所述当前CPU占用等级对应的工作状态。
6.一种CPU监控装置,其特征在于,所述装置包括:
等级获取模块,用于定时获取CPU占用等级;
数量获取模块,用于从所述CPU占用等级形成的占用等级序列中,获取与当前CPU占用等级相同且与所述当前CPU占用等级连续的CPU占用等级的数量;
状态获取模块,用于若所述数量超过阈值,则确定所述CPU的工作状态为所述当前CPU占用等级对应的工作状态。
7.根据权利要求6所述的CPU监控装置,其特征在于,所述数量获取模块还每次获取到CPU占用等级时,将获取到的CPU占用等级对应的数量加一,并将除所述获取到的CPU占用等级之外的其他CPU占用等级的数量清零;获取当前CPU占用等级对应的数量。
8.根据权利要求7所述的CPU监控装置,其特征在于,所述数量获取模块还用于每次获取到CPU占用等级时,判断获取到的CPU占用等级对应的工作状态;若所述工作状态为空闲状态,则将所述空闲状态对应的所有CPU占用等级的数量加一,并将繁忙状态对应的所有CPU占用等级的数量清零;若所述工作状态为繁忙状态,则将与所述繁忙状态对应的CPU占用等级中,小于或等于所述获取到的CPU占用等级的CPU占用等级的数量加一,大于所述获取到的CPU占用等级的CPU占用等级的数量清零,并将所述空闲状态对应的CPU占用等级的数量清零;获取当前CPU占用等级对应的数量。
9.一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机可读指令,所述指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述的CPU监控方法。
10.一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述的CPU监控方法。
CN201710648984.8A 2017-08-01 2017-08-01 Cpu监控方法和装置、计算机设备、计算机可读存储介质 Expired - Fee Related CN107526668B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710648984.8A CN107526668B (zh) 2017-08-01 2017-08-01 Cpu监控方法和装置、计算机设备、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710648984.8A CN107526668B (zh) 2017-08-01 2017-08-01 Cpu监控方法和装置、计算机设备、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107526668A true CN107526668A (zh) 2017-12-29
CN107526668B CN107526668B (zh) 2021-02-02

Family

ID=60680450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710648984.8A Expired - Fee Related CN107526668B (zh) 2017-08-01 2017-08-01 Cpu监控方法和装置、计算机设备、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107526668B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287697A (zh) * 2018-03-19 2019-09-27 阿里巴巴集团控股有限公司 行为识别、数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103823712A (zh) * 2014-03-17 2014-05-28 杭州华三通信技术有限公司 一种多cpu虚拟机系统的数据流处理方法和装置
CN104641361A (zh) * 2012-09-18 2015-05-20 思科技术公司 实时且高分辨率缓冲占用监控和记录
CN105117323A (zh) * 2015-10-14 2015-12-02 广州华多网络科技有限公司 一种终端及其cpu或内存的状态检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104641361A (zh) * 2012-09-18 2015-05-20 思科技术公司 实时且高分辨率缓冲占用监控和记录
CN103823712A (zh) * 2014-03-17 2014-05-28 杭州华三通信技术有限公司 一种多cpu虚拟机系统的数据流处理方法和装置
CN105117323A (zh) * 2015-10-14 2015-12-02 广州华多网络科技有限公司 一种终端及其cpu或内存的状态检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287697A (zh) * 2018-03-19 2019-09-27 阿里巴巴集团控股有限公司 行为识别、数据处理方法及装置

Also Published As

Publication number Publication date
CN107526668B (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN107544842B (zh) 应用程序处理方法和装置、计算机设备、存储介质
CN106453511B (zh) 一种数据备份方法及设备
CN107526640A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN104166614B (zh) 一种移动设备的帧率探测方法和相关装置
CN107391259A (zh) 资源处理方法和装置、计算机可读存储介质、移动终端
CN107092520A (zh) 应用程序的推荐方法、装置、存储介质及移动终端
CN107368400A (zh) Cpu监测方法、装置、计算机可读存储介质和移动终端
CN107526638A (zh) 应用程序处理方法、装置、移动终端及存储介质
CN104571979B (zh) 一种实现分屏视图的方法和装置
CN104519262B (zh) 获取视频数据的方法、装置及终端
CN107562539A (zh) 应用程序处理方法和装置、计算机设备、存储介质
CN105867751A (zh) 操作信息处理方法和装置
CN109697010A (zh) 一种悬浮窗位置控制方法、终端及计算机可读存储介质
CN107729131A (zh) 一种事件处理方法、终端及计算机可读存储介质
CN104699501B (zh) 一种运行应用程序的方法及装置
US20160364495A1 (en) Url error-correcting method, server, terminal and system
CN107612643A (zh) 信道检测方法及信道检测设备
CN107391198A (zh) 任务调度方法和装置、计算机可读存储介质、移动终端
CN110597793A (zh) 数据管理方法及装置、电子设备和计算机可读存储介质
CN103501487A (zh) 分类器更新方法、装置、终端、服务器及系统
CN107526637A (zh) 应用程序处理方法、装置、移动终端及存储介质
CN112540996A (zh) 一种业务数据的校验方法、装置、电子设备及存储介质
CN107193773A (zh) 一种数据处理方法、装置及移动终端
CN106791185A (zh) 联系人信息管理方法、装置及移动终端
CN109246233A (zh) 基于在线监控的数据处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210202