CN108681498A - 一种cpu占用率的监测方法、装置以及移动终端 - Google Patents

一种cpu占用率的监测方法、装置以及移动终端 Download PDF

Info

Publication number
CN108681498A
CN108681498A CN201810245455.8A CN201810245455A CN108681498A CN 108681498 A CN108681498 A CN 108681498A CN 201810245455 A CN201810245455 A CN 201810245455A CN 108681498 A CN108681498 A CN 108681498A
Authority
CN
China
Prior art keywords
monitoring cycle
collected
cpu usage
monitoring
list
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
CN201810245455.8A
Other languages
English (en)
Other versions
CN108681498B (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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN201810245455.8A priority Critical patent/CN108681498B/zh
Publication of CN108681498A publication Critical patent/CN108681498A/zh
Application granted granted Critical
Publication of CN108681498B publication Critical patent/CN108681498B/zh
Active 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/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Telephone Function (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种CPU占用率的监测方法、装置以及移动终端,用以解决采用现有的进程CPU占用率监测方法本身的CPU占用率极高,从而加剧系统卡顿的问题。方法包括:响应于系统时钟发出的中断信号,采集正在运行的进程的名称;按照预设的监测周期,对所述监测周期内所采集到的进程的名称进行统计,确定出所述监测周期内所采集到的各进程的次数;根据在所述监测周期内所采集到的各进程的次数,确定各进程在所述监测周期内的中央处理器CPU占用率。

Description

一种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为本发明的一个实施例所提供的CPU占用率的监测装置的具体结构示意图;
图3为本发明的一个实施例所提供的终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
本申请实施例提供的CPU占用率的监测方法的执行主体,可以但不限于为手机、平板电脑、个人电脑(Personal Computer,PC)以及任何可以运行 CPU占用率监测应用(Appliacation,APP)的终端设备中的至少一种。此外,该方法的执行主体,也可以是用于实现CPU占用率监测的APP本身。
为了便于描述,下文以该方法的执行主体为移动终端设备手机为例对该方法的实施方式进行介绍。可以理解,该方法的执行主体为手机只是一种示例性的说明,并不应理解为对该方法的限定。
本申请实施例提供了一种CPU占用率的监测方法,用以解决现有的进程 CPU占用率监测方法本身的CPU占用率极高,从而加剧系统卡顿的问题,该方法的具体实现流程示意图如图1所示,主要包括下述步骤:
步骤101:响应于系统时钟发出的中断信号,采集正在运行的进程的名称;
目前比较常见的终端操作系统主要有linux系统和windows系统,而这两种系统都是多进程并发执行的,而一个进程执行的脚本是代码,而程序员在编写代码过程中并不会每隔多少行(或者每隔多少命令)就写一个让出CPU的语句以让该进程自己停止,则在这种情况下,CPU在运行一个进程后,在该进程的脚本代码运行结束前,该进程是不会主动结束的,也就是说在这种情况下 CPU无法切换进程,也就无法多进程并发执行。基于这种原因,为了可以实现多进程的并发运行,这就需要通过系统中断来进行支持,系统通过实时时钟进行计时,每过一定时间,系统就会通过硬件中断的方式,让CPU停止当前运行的进程,而重新调度新的进程进行运行。
其中,系统时钟中断是指在计算机互补型金属氧化物半导体芯片(Complementary Metal-Oxide-Semiconductor,CMOS)中设置有一个由电池供电且用于计时的晶片,通常被称为实时时钟,而另一个晶片则根据实时时钟提供的时间定期向CPU发送中断信号的以实现CPU的中断。
需要说明的是,一般地,系统时钟发出中断信号的时间间隔是一定的,以 ARM处理器(Advanced RISC Machines)为例,该处理器的时钟中断间隔为 10ms,即每当CMOS芯片上的实时时钟计时10ms时,会向CPU发送一个中断信号。即在这种情况下,每个进程一次可以在CPU上运行10ms。
则在这种情况下,当发生时钟中断时,系统都会对发生在本次系统中断前正在CPU上运行的进程进行记录,以采集该进程的名称。且根据时钟中断的原理可以知道,在本次时钟中断与上次时钟中断之间的这段时间内,在CPU 上运行的都是同一个进程。
步骤102:按照预设的监测周期,对所述监测周期内所采集到的进程的名称进行统计,确定出所述监测周期内所采集到的各进程的次数;
通过执行步骤101,手机系统已经利用时钟中断机制,对每次时钟中断前正在运行的进程进行了记录,而这些单条记录可能并没有什么完整的作用,也无法根据单条的进程记录来确定该进程所对应的CPU占用率,因而在本申请实施例中,除了按照时钟中断时间记录进程外,还需要按照一定的时间周期(即监测周期),对该监测周期内采集到的所有进程进行统计,以便后续使用。
需要说明的是,用户可以根据自己的使用需要自行设置监测周期,或者手机系统也可以根据默认数值设置该监测周期。另外,一方面,由于系统时钟中断的时间间隔是固定的,因而当监测周期设置的越长,则在该监测周期内所采集到的进程数量也就可能变得越来越多,进而后续在计算该些进程的CPU占用率时所耗费的处理资源也就越多;另外一方面,如果监测周期设置的过长,则系统往往无法第一时间发现占用较多CPU资源的异常进程,而这些未能及时发现处理的异常进程则会导致系统卡顿,影响了用户正常的使用体验。因而基于上述两点原因,在本申请实施例中,监测周期往往不会设置太长。比如,可以以5秒或者10秒为一个监测周期。
例如,以监测周期为1s、系统时钟中断时间间隔为10ms为例,则在该监测周期内被采集到的进程一共有100次,进而可以统计出在这1秒的监测周期内,各个进程分别被监测到了几次,如假设在这1秒的监测周期内,共监测到了进程a、进程b、进程c、进程d以及进程e这五个进程,且进程a被监测到的次数为35次,进程b被监测到的次数为20次,进程c被监测到的次数为25 次,进程d被监测到的次数为15次,进程e被监测到的次数为5次。
步骤103:根据在所述监测周期内所采集到的各进程的次数,确定各进程在所述监测周期内的中央处理器CPU占用率。
这里需要说明的是,由于在两次时钟中断间隔之间,CPU仅仅会运行一个进程,因而可以理解的是当通过执行步骤101在一次时钟中断时采集到一个进程,那么说明从上次时钟中断开始到本次时钟中断之间的这10ms内,该被采集到的进程都完全占用了该CPU。同时由于时钟中断的间隔时间都是固定的,因而在一个监测周期内某个进程被采集到的次数就可以反映出该进程在该监测周期内所对应的CPU占用率。
具体地,本申请实施例可以采用下述方法来确定采在监测周期内被监测到的各个进程所对应的CPU占用率:确定所述监测周期内所出现的系统时钟中断次数;根据所述进程在所述监测周期内进程被采集到的次数与所述系统时钟中断次数的比值,分别确定所述各个进程在所述监测周期内的中央处理器CPU 占用率。
例如,以1秒为一个监测周期,按照系统时钟中断的时间间隔为10ms,则在一个监测周期内可以采集到1万次的进程,此时假设在一个采集周期内采集到了700次进程A,则根据本申请实施例所提供的方法,可以确定该进程A 在该监测周期内的CPU占用率为7%。
另外,这里还需要说明的是,即使以10秒为一个监测周期,按照一般系统时钟中断的时间间隔10ms进行采集,在一个监测周期内也将会采集到1万次的进程,如果对这采集到的1万次进程均做统计,也将会耗费一定的计算资源。而我们进行进程CPU占用率监测的主要目的,往往就是想对CPU占用率较高的进行监测,因而在这种情况下,系统只需要按照CPU占用率由高到低的顺序,对CPU占用率较高的若干个进程进行监测即可,而不需要确定所有被监测到进程的CPU占用率。
基于上述情况,在本申请实施例中,当通过执行步骤102对监测周期内采集到的各个进程进行统计,以确定在该监测周期内所采集到的各个进程的次数后,手机系统可以按照进程被监测到的次数由大到小的顺序,将排名前几位的进程列入统计表中,进而后续只需确定该统计表中的进程CPU占用率即可。具体地,本申请实施例可以采用如下方法:根据在所述监测周期内所采集到各个进程的次数,生成第一列表,其中,所述第一列表中按所述监测周期内采集到各个进程的次数由大到小,依次记录有特定数目的进程名称;分别确定所述第一列表中各个进程在所述监测周期内的中央处理器CPU占用率。
例如,仍以监测周期为1s、系统时钟中断时间间隔为10ms为例,则在该监测周期内被采集到的进程一共有100次,假设在这1秒的监测周期内,共监测到了进程a、进程b、进程c、进程d以及进程e这五个进程,且进程a被监测到的次数为35次,进程b被监测到的次数为20次,进程c被监测到的次数为25次,进程d被监测到的次数为15次,进程e被监测到的次数为5次,此时手机系统会按照各进程被监测次数由大到小的顺序,将被监测次数排名前三的进程记录在“TOP3统计表”中,则在该监测周期内得到的“TOP3统计表”中依次包含以下三个进程:“进程a、进程c、进程b”。
同时为了保证该统计表中所记录的进程始终为最新的进程,因而系统还会根据每次系统时钟中断时采集到的进程,对该统计表中的进程排序进行更新。例如,仍以前述举例为例,假设在上一次监测周期后,在接下来连续六次时钟中断时,系统采集到的进程均为进程d,则此时进程d一共被监测到的次数为 21次,已经超过了在上一个监测周期内进程b被监测到的次数20次,则此时系统可以将“TOP3统计表”中的三个进程更新为:“进程a、进程c、进程d”。
通过上述这种方式,手机系统可以始终保存一个记录有若干个被监测到次数最多的进程的统计表,而通过前述分析可知进程被监测到的次数越多,则说明该进程的CPU占用率也就越高,进而后续只需要确定该统计表中进程的CPU 占用率即可。
当通过执行步骤103确定出进程的CPU占用率后,系统还需要判断该些进程是否为异常进程(即CPU占用率过高,导致系统卡顿的进程),在一种实施方式中,可以采用如下方法来确定进程是否为异常进程,具体包括:分别判断所述第一列表中各个进程的CPU占用率是否大于预设阈值;当所述进程的CPU占用率大于所述预设阈值时,确定所述进程为异常进程。
其中用户可以根据自己的使用需要,自行设置异常进程的判断阈值,或者也可以有系统默认设置异常进程的判断阈值。假设该阈值为10%,即当进程的 CPU占用率大于或等于10%时,则说明该进程为异常进程。
当系统确定某个进程为异常进程后,系统会针对该异常进程发出提示信息,比如在手机显示界面上弹窗提醒,进而杀死该异常进程,以避免由于该异常进程而导致的系统卡顿。
由于用户希望避免系统卡顿的主要原因是不希望系统卡顿影响当前正在前台运行的程序,故系统需要把可能造成系统卡顿的后台异常进程杀死。基于上述原因,在本申请实施所提供的方法往往是用于对后台进程进行监测,因而当采用本申请所提供的方法进行进程监测时,系统往往可以仅仅对后台运行的进程进行监测。
采用本发明实施例所提供的CPU占用率的监测方法,用户在使用终端设备时,响应于系统时钟发出的中断信号,终端操作系统对会对系统时钟中断前正在运行的进程进行采集,从而确定该进程的名称,并按照预设的监测周期,对该监测周期内各系统时钟中断时所采集到的进程进行统计,确定出在该监测周期内所采集到的各个进程的次数。由于每次系统时钟中断前都有且仅有一个进程在运行,因而通过这种采集统计方式,可以统计出在一个监测周期内各个进程被采集到的次数,而通过不同进程在一个监测周期内被采集到的次数与一个监测周期内总采集次数的比值,可以反映该进程在该监测周期内的运行频率,一个进程在某段时间内运行次数越多,运行时间越长,则很明显该进程在该段时间内所占用的CPU处理资源越多,进而在本申请实施例中可以通过该运行频率反映出该进程在该监测周期内的CPU占用率。
通过本申请实施例提供的这种CPU占用率的监测方法,系统不需要通过运行命令遍历整个系统目录下的所有进程来统计所有进程的CPU占用率,而只需要在每次系统时钟中断时收集系统时钟中断前正在运行的一个进程,并通过统计一个监测周期内运行的进程以及该些进程的运行次数,来反映在一个监测周期内运行的各个进程各自的CPU占用率,很明显采用本方案系统每次只需要采集一个进程,且在一个监测周期内只需要对在该监测周期内运行的进程进行CPU占用率,相比于现有方案需要遍历整个系统目录下所有进程的方式,本方案的方法在运行时的CPU占用率明显低于现有方法的CPU占用率,在监测进程CPU占用率的同时,并不会加剧系统CPU的运行负载,从而不会加剧系统卡顿现象,极大地提升了用户的使用体验。
本申请实施例还提供了一种CPU占用率的监测装置,用以解决现有的进程CPU占用率监测方法本身的CPU占用率极高,从而加剧系统卡顿的问题。该装置的具体结构示意图如图2所示,主要包括:采集单元21、统计单元22 以及占用率确定单元23。
其中,采集单元21,用于响应于系统时钟发出的中断信号,采集正在运行的进程的名称;
统计单元22,用于按照预设的监测周期,对所述监测周期内所采集到的进程的名称进行统计,确定出所述监测周期内所采集到的各进程的次数;
占用率确定单元23,用于根据在所述监测周期内所采集到的各进程的次数,确定各进程在所述监测周期内的中央处理器CPU占用率。
在一种实施方式中,占用率确定单元23,具体用于:根据在所述监测周期内所采集到的不同进程的次数,生成第一列表,其中,所述第一列表中按所述监测周期内采集到的不同进程的次数由大到小的顺序记录了特定数目的进程名称;分别确定所述第一列表中不同进程在所述监测周期内的中央处理器CPU 占用率。
在一种实施方式中,占用率确定单元23,具体用于:确定所述监测周期内系统时钟发出中断信号的次数;根据所述第一列表中进程在所述监测周期内进程被采集到的次数与所述系统时钟发出中断信号的次数的比值,分别确定所述第一列表中不同进程在所述监测周期内的中央处理器CPU占用率。
在一种实施方式中,该CPU占用率的监测装置还包括:异常进程检测单元,用于分别判断所述第一列表中不同进程的CPU占用率是否大于预设阈值;当所述进程的CPU占用率大于所述预设阈值时,确定所述进程为异常进程。
在一种实施方式中,该CPU占用率的监测装置还包括:提示单元,用于发出针对所述异常进程的提示信息,杀死所述异常进程。
采用本发明实施例所提供的CPU占用率的监测方法,用户在使用终端设备时,响应于系统时钟发出的中断信号,终端操作系统对会对系统时钟中断前正在运行的进程进行采集,从而确定该进程的名称,并按照预设的监测周期,对该监测周期内各系统时钟中断时所采集到的进程进行统计,确定出在该监测周期内所采集到的各个进程的次数。由于每次系统时钟中断前都有且仅有一个进程在运行,因而通过这种采集统计方式,可以统计出在一个监测周期内各个进程被采集到的次数,而通过不同进程在一个监测周期内被采集到的次数与一个监测周期内总采集次数的比值,可以反映该进程在该监测周期内的运行频率,一个进程在某段时间内运行次数越多,运行时间越长,则很明显该进程在该段时间内所占用的CPU处理资源越多,进而在本申请实施例中可以通过该运行频率反映出该进程在该监测周期内的CPU占用率。
通过本申请实施例提供的这种CPU占用率的监测方法,系统不需要通过运行命令遍历整个系统目录下的所有进程来统计所有进程的CPU占用率,而只需要在每次系统时钟中断时收集系统时钟中断前正在运行的一个进程,并通过统计一个监测周期内运行的进程以及该些进程的运行次数,来反映在一个监测周期内运行的各个进程各自的CPU占用率,很明显采用本方案系统每次只需要采集一个进程,且在一个监测周期内只需要对在该监测周期内运行的进程进行CPU占用率,相比于现有方案需要遍历整个系统目录下所有进程的方式,本方案的方法在运行时的CPU占用率明显低于现有方法的CPU占用率,在监测进程CPU占用率的同时,并不会加剧系统CPU的运行负载,从而不会加剧系统卡顿现象,极大地提升了用户的使用体验。
图3为实现本发明各个实施例的一种移动终端的硬件结构示意图。
在图3中,该终端设备300包括但不限于:射频单元301、网络模块302、音频输出单元303、输入单元304、传感器305、显示单元306、用户输入单元 307、接口单元308、存储器309、处理器310、以及电源311等部件。本领域技术人员可以理解,图3中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
处理器310,用于响应于系统时钟发出的中断信号,采集正在运行的进程的名称;按照预设的监测周期,对所述监测周期内所采集到的进程的名称进行统计,确定出所述监测周期内所采集到的各进程的次数;根据在所述监测周期内所采集到的各进程的次数,确定各进程在所述监测周期内的中央处理器CPU 占用率。
采用本发明实施例所提供的CPU占用率的监测方法,用户在使用终端设备时,响应于系统时钟发出的中断信号,终端操作系统对会对系统时钟中断前正在运行的进程进行采集,从而确定该进程的名称,并按照预设的监测周期,对该监测周期内各系统时钟中断时所采集到的进程进行统计,确定出在该监测周期内所采集到的各个进程的次数。由于每次系统时钟中断前都有且仅有一个进程在运行,因而通过这种采集统计方式,可以统计出在一个监测周期内各个进程被采集到的次数,而通过不同进程在一个监测周期内被采集到的次数与一个监测周期内总采集次数的比值,可以反映该进程在该监测周期内的运行频率,一个进程在某段时间内运行次数越多,运行时间越长,则很明显该进程在该段时间内所占用的CPU处理资源越多,进而在本申请实施例中可以通过该运行频率反映出该进程在该监测周期内的CPU占用率。
通过本申请实施例提供的这种CPU占用率的监测方法,系统不需要通过运行命令遍历整个系统目录下的所有进程来统计所有进程的CPU占用率,而只需要在每次系统时钟中断时收集系统时钟中断前正在运行的一个进程,并通过统计一个监测周期内运行的进程以及该些进程的运行次数,来反映在一个监测周期内运行的各个进程各自的CPU占用率,很明显采用本方案系统每次只需要采集一个进程,且在一个监测周期内只需要对在该监测周期内运行的进程进行CPU占用率,相比于现有方案需要遍历整个系统目录下所有进程的方式,本方案的方法在运行时的CPU占用率明显低于现有方法的CPU占用率,在监测进程CPU占用率的同时,并不会加剧系统CPU的运行负载,从而不会加剧系统卡顿现象,极大地提升了用户的使用体验。
应理解的是,本发明实施例中,射频单元301可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器310 处理;另外,将上行的数据发送给基站。通常,射频单元301包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元301还可以通过无线通信系统与网络和其他设备通信。
终端设备通过网络模块302为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元303可以将射频单元301或网络模块302接收的或者在存储器309中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元303还可以提供与终端设备300执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元303包括扬声器、蜂鸣器以及受话器等。
输入单元304用于接收音频或视频信号。输入单元304可以包括图形处理器(Graphics Processing Unit,GPU)3041和麦克风3042,图形处理器3041 对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元306上。经图形处理器3041处理后的图像帧可以存储在存储器309(或其它存储介质) 中或者经由射频单元301或网络模块302进行发送。麦克风3042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元301发送到移动通信基站的格式输出。
终端设备300还包括至少一种传感器305,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板3061的亮度,接近传感器可在终端设备300移动到耳边时,关闭显示面板3061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击) 等;传感器305还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元306用于显示由用户输入的信息或提供给用户的信息。显示单元 306可包括显示面板3061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板3061。
用户输入单元307可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元307包括触控面板3071以及其他输入设备3072。触控面板3071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板3071上或在触控面板3071附近的操作)。触控面板3071 可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器 310,接收处理器310发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板3071。除了触控面板3071,用户输入单元307还可以包括其他输入设备3072。具体地,其他输入设备3072 可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板3071可覆盖在显示面板3061上,当触控面板3071 检测到在其上或附近的触摸操作后,传送给处理器310以确定触摸事件的类型,随后处理器310根据触摸事件的类型在显示面板3061上提供相应的视觉输出。虽然在图3中,触控面板3071与显示面板3061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板3071与显示面板3061集成而实现终端设备的输入和输出功能,具体此处不做限定。
接口单元308为外部装置与终端设备300连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/ 输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元308可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备300内的一个或多个元件或者可以用于在终端设备300和外部装置之间传输数据。
存储器309可用于存储软件程序以及各种数据。存储器309可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器 309可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器310是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器309内的软件程序和/或模块,以及调用存储在存储器309内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器310可包括一个或多个处理单元;优选的,处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器310中。
终端设备300还可以包括给各个部件供电的电源311(比如电池),优选的,电源311可以通过电源管理系统与处理器310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,终端设备300包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种终端设备,包括处理器310,存储器309,存储在存储器309上并可在所述处理器310上运行的计算机程序,该计算机程序被处理器310执行时实现上述CPU占用率的监测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述CPU占用率的监测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (11)

1.一种CPU占用率的监测方法,其特征在于,包括:
响应于系统时钟发出的中断信号,采集正在运行的进程的名称;
按照预设的监测周期,对所述监测周期内所采集到的进程的名称进行统计,确定出所述监测周期内所采集到的各进程的次数;
根据在所述监测周期内所采集到的各进程的次数,确定各进程在所述监测周期内的中央处理器CPU占用率。
2.根据权利要求1所述的方法,其特征在于,根据在所述监测周期内所采集到的不同进程的次数,分别确定所述第一列表中不同进程在所述监测周期内的中央处理器CPU占用率,具体包括:
根据在所述监测周期内所采集到的不同进程的次数,生成第一列表,其中,所述第一列表中按所述监测周期内采集到的不同进程的次数由大到小的顺序记录了特定数目的进程名称;
分别确定所述第一列表中不同进程在所述监测周期内的中央处理器CPU占用率。
3.根据权利要求2所述的方法,其特征在于,分别确定所述第一列表中不同进程在所述监测周期内的中央处理器CPU占用率,具体包括:
确定所述监测周期内所出现的系统时钟发出中断信号的次数;
根据所述第一列表中进程在所述监测周期内进程被采集到的次数与所述系统时钟发出中断信号的次数的比值,分别确定所述第一列表中不同进程在所述监测周期内的中央处理器CPU占用率。
4.根据权利要求1所述的方法,其特征在于,分别确定所述第一列表中各个进程在所述监测周期内的中央处理器CPU占用率后,所述方法还包括:
分别判断所述第一列表中不同进程的CPU占用率是否大于预设阈值;
当所述进程的CPU占用率大于所述预设阈值时,确定所述进程为异常进程。
5.根据权利要求4所述的方法,其特征在于,当所述进程的CPU占用率大于所述预设阈值时,确定所述进程为异常进程后,所述方法还包括:
发出针对所述异常进程的提示信息,杀死所述异常进程。
6.一种CPU占用率的监测装置,其特征在于,包括:
采集单元,用于响应于系统时钟发出的中断信号,采集正在运行的进程的名称;
统计单元,用于按照预设的监测周期,对所述监测周期内所采集到的进程的名称进行统计,确定出所述监测周期内所采集到的各进程的次数;
占用率确定单元,用于根据在所述监测周期内所采集到的各进程的次数,确定各进程在所述监测周期内的中央处理器CPU占用率。
7.如权利要求6所述的装置,其特征在于,占用率确定单元,具体用于:
根据在所述监测周期内所采集到的不同进程的次数,生成第一列表,其中,所述第一列表中按所述监测周期内采集到的不同进程的次数由大到小的顺序记录了特定数目的进程名称;
分别确定所述第一列表中不同进程在所述监测周期内的中央处理器CPU占用率。
8.如权利要求7所述的装置,其特征在于,占用率确定单元,具体用于:
确定所述监测周期内系统时钟发出中断信号的次数;
根据所述第一列表中进程在所述监测周期内进程被采集到的次数与所述系统时钟发出中断信号的次数的比值,分别确定所述第一列表中不同进程在所述监测周期内的中央处理器CPU占用率。
9.如权利要求6所述的装置,其特征在于,还包括异常进程检测单元,用于:
分别判断所述第一列表中不同进程的CPU占用率是否大于预设阈值;
当所述进程的CPU占用率大于所述预设阈值时,确定所述进程为异常进程。
10.如权利要求9所述的装置,其特征在于,还包括提示单元,用于:
发出针对所述异常进程的提示信息,杀死所述异常进程。
11.一种移动终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的方法的步骤。
CN201810245455.8A 2018-03-23 2018-03-23 一种cpu占用率的监测方法、装置以及移动终端 Active CN108681498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810245455.8A CN108681498B (zh) 2018-03-23 2018-03-23 一种cpu占用率的监测方法、装置以及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810245455.8A CN108681498B (zh) 2018-03-23 2018-03-23 一种cpu占用率的监测方法、装置以及移动终端

Publications (2)

Publication Number Publication Date
CN108681498A true CN108681498A (zh) 2018-10-19
CN108681498B CN108681498B (zh) 2022-02-01

Family

ID=63800366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810245455.8A Active CN108681498B (zh) 2018-03-23 2018-03-23 一种cpu占用率的监测方法、装置以及移动终端

Country Status (1)

Country Link
CN (1) CN108681498B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614305A (zh) * 2018-12-11 2019-04-12 广东省新代通信与网络创新研究院 处理器的占用率获取方法、装置及计算机可读存储介质
CN109982144A (zh) * 2019-03-12 2019-07-05 四川长虹电器股份有限公司 监控并判断应用进程cpu占用超高并报警的自动化测试方法
CN111198800A (zh) * 2020-01-03 2020-05-26 北京小米移动软件有限公司 Cpu占有率检测方法、cpu占有率检测装置及电子设备
CN112764889A (zh) * 2019-10-21 2021-05-07 Oppo广东移动通信有限公司 进程调度方法、装置、设备以及存储介质
CN113448803A (zh) * 2021-06-25 2021-09-28 东莞市小精灵教育软件有限公司 一种cpu监控的方法和装置
CN114138499A (zh) * 2022-01-29 2022-03-04 苏州浪潮智能科技有限公司 Gpu资源利用率的监控方法、装置、计算机设备及介质
CN114416466A (zh) * 2021-12-13 2022-04-29 北京罗克维尔斯科技有限公司 Cpu使用率监控方法、装置、设备及存储介质
CN114518991A (zh) * 2020-11-18 2022-05-20 中移物联网有限公司 一种统计cpu利用率的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344865A (zh) * 2008-08-15 2009-01-14 中兴通讯股份有限公司 一种cpu占用率测量方法及装置
CN103455407A (zh) * 2013-09-03 2013-12-18 小米科技有限责任公司 一种移动终端cpu占用率监测方法、装置及移动终端
CN105022686A (zh) * 2015-07-17 2015-11-04 广州华多网络科技有限公司 安卓平台上进程的cpu占用率确定方法和装置
CN107491372A (zh) * 2017-08-03 2017-12-19 郑州云海信息技术有限公司 一种针对Linux系统RPM包统计CPU占用率的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344865A (zh) * 2008-08-15 2009-01-14 中兴通讯股份有限公司 一种cpu占用率测量方法及装置
CN103455407A (zh) * 2013-09-03 2013-12-18 小米科技有限责任公司 一种移动终端cpu占用率监测方法、装置及移动终端
CN105022686A (zh) * 2015-07-17 2015-11-04 广州华多网络科技有限公司 安卓平台上进程的cpu占用率确定方法和装置
CN107491372A (zh) * 2017-08-03 2017-12-19 郑州云海信息技术有限公司 一种针对Linux系统RPM包统计CPU占用率的方法及系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614305A (zh) * 2018-12-11 2019-04-12 广东省新代通信与网络创新研究院 处理器的占用率获取方法、装置及计算机可读存储介质
CN109982144A (zh) * 2019-03-12 2019-07-05 四川长虹电器股份有限公司 监控并判断应用进程cpu占用超高并报警的自动化测试方法
CN109982144B (zh) * 2019-03-12 2020-06-30 四川长虹电器股份有限公司 监控并判断应用进程cpu占用超高并报警的自动化测试方法
CN112764889A (zh) * 2019-10-21 2021-05-07 Oppo广东移动通信有限公司 进程调度方法、装置、设备以及存储介质
CN111198800A (zh) * 2020-01-03 2020-05-26 北京小米移动软件有限公司 Cpu占有率检测方法、cpu占有率检测装置及电子设备
CN111198800B (zh) * 2020-01-03 2023-08-04 北京小米移动软件有限公司 Cpu占有率检测方法、cpu占有率检测装置及电子设备
CN114518991A (zh) * 2020-11-18 2022-05-20 中移物联网有限公司 一种统计cpu利用率的方法及装置
CN113448803A (zh) * 2021-06-25 2021-09-28 东莞市小精灵教育软件有限公司 一种cpu监控的方法和装置
CN114416466A (zh) * 2021-12-13 2022-04-29 北京罗克维尔斯科技有限公司 Cpu使用率监控方法、装置、设备及存储介质
CN114138499A (zh) * 2022-01-29 2022-03-04 苏州浪潮智能科技有限公司 Gpu资源利用率的监控方法、装置、计算机设备及介质
CN114138499B (zh) * 2022-01-29 2022-05-06 苏州浪潮智能科技有限公司 Gpu资源利用率的监控方法、装置、计算机设备及介质
WO2023142824A1 (zh) * 2022-01-29 2023-08-03 苏州浪潮智能科技有限公司 Gpu资源利用率的监控方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
CN108681498B (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
CN108681498A (zh) 一种cpu占用率的监测方法、装置以及移动终端
CN108108007B (zh) 一种降低功耗的处理方法及移动终端
CN108182896B (zh) 一种亮度检测方法、装置及移动终端
CN108491123A (zh) 一种调节应用程序图标的方法及移动终端
CN110062105A (zh) 一种界面显示方法及终端设备
CN109144225A (zh) 一种灭屏控制方法、装置及移动终端
CN109542279A (zh) 一种终端设备控制方法及终端设备
CN108362304A (zh) 一种数据处理方法及移动终端
CN110069180A (zh) 一种功能控制方法及终端设备
CN109815819A (zh) 一种作弊检测方法、装置、终端设备及存储介质
CN108282834A (zh) 一种终端接入lte网络的方法及终端
CN109831359A (zh) 一种数据网络连接状态的检测方法及其终端设备
CN109816679A (zh) 一种图片处理方法及终端设备
CN109639887A (zh) 一种控制方法及终端设备
CN108170559A (zh) 一种数据备份方法及终端
CN107832189A (zh) 一种i/o系统的监控方法及移动终端
CN107491349B (zh) 应用程序处理方法和装置、计算机设备、存储介质
CN107992378B (zh) 一种文件处理方法及移动终端
CN110505279A (zh) 设置延时的方法及设备
CN108089935A (zh) 一种应用程序的管理方法及移动终端
CN108170310A (zh) 一种触屏控制方法及移动终端
CN109905851A (zh) 一种提示方法及终端设备
CN107766211B (zh) 冻屏预防方法、移动终端及计算机可读存储介质
CN110505349A (zh) 一种提醒方法及终端
CN109582174A (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
GR01 Patent grant
GR01 Patent grant