CN107436839A - 进程负载获取方法、电子终端及计算机可读存储介质 - Google Patents
进程负载获取方法、电子终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107436839A CN107436839A CN201710580205.5A CN201710580205A CN107436839A CN 107436839 A CN107436839 A CN 107436839A CN 201710580205 A CN201710580205 A CN 201710580205A CN 107436839 A CN107436839 A CN 107436839A
- Authority
- CN
- China
- Prior art keywords
- event
- processor
- switching
- description information
- information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 for performance assessment
- G06F11/3433—Recording 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 for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
Abstract
本发明实施例公开了一种进程负载获取方法,应用于计算机技术领域,包括:获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息;根据该进程切换事件的描述信息和该处理器频率变化事件的描述信息,得到该预设时长内切换执行的进程在处理器的不同频率下的执行时间;将各该执行时间与对应的该处理器的不同频率的乘积之和,作为该切换执行的进程在该预设时长内的总负载,并输出该总负载。本发明实施例还公开了一种电子终端及计算机可读存储介质,可以在动态变频环境下,得到更为准确的进程负载信息。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种进程负载获取方法、电子终端及计算机可读存储介质。
背景技术
随着计算机技术的发展,智能手机、平板电脑、台式计算机等电子终端设备在人们生活中的作用越来越高。为了节省电子终端设备的能耗,操作系统需要能够根据进程负载的实际变化情况,动态调节中央处理器(Central Processing Unit,CPU)的工作频率,例如当负载提升时,提高CPU的工作频率;当负载下降时,降低CPU的工作频率。因此能否准确获取进程的负载对动态调节CPU的工作频率至关重要。进程的负载即进程的运算量。
现有的CPU工作频率调节技术,主要通过分析/proc/pid/stat节点的输出信息来计算pid进程的运算量,在定频环境下,该技术能够准确获取进程的运算量。但是,在动态变频环境下,由于/proc/pid/stat节点中保存的是进程的执行时间,而CPU的运行速度是在不断的变化,该技术无法根据进程的执行时间准确计算出进程的运算量。
发明内容
本发明提供一种进程负载获取方法、电子终端及计算机可读存储介质,可以在动态变频环境下,得到更为准确的进程负载的信息。
本发明实施例第一方面提供了一种进程负载获取方法,包括:获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息;根据所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息,得到所述预设时长内切换执行的进程在处理器的不同频率下的执行时间;将各所述执行时间与对应的所述处理器的不同频率的乘积之和,作为所述切换执行的进程在所述预设时长内的总负载,并输出所述总负载。
本发明实施例第二方面提供了一种电子终端,包括:描述信息获取模块,用于获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息;执行时间获取模块,用于根据所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息,得到所述预设时长内切换执行的进程在处理器的不同频率下的执行时间;总负载获取模块,用于将各所述执行时间与对应的所述处理器的不同频率的乘积之和,作为所述切换执行的进程在所述预设时长内的总负载;输出模块,用于输出所述总负载。
本发明实施例第三方面提供了一种电子终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述本发明实施例第一方面提供的进程负载获取方法。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述本发明实施例第一方面提供的进程负载获取方法。
上述本发明实施例提供的进程负载获取方法、电子终端及计算机可读存储介质,通过将预设时长内切换执行的进程的各执行时间与对应的处理器的不同频率的乘积之和,作为切换执行的进程在预设时长内的总负载,由于该总负载是以处理器的不同频率变化为依据计算得到,因此符合动态变频环境下进程的负载的实际变化情况,从而可为变频环境下的用户软件、进程的负载分析、行为分析提供更为有效的参考。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1是本发明一实施例提供的进程负载获取方法的实现流程示意图;
图2是本发明另一实施例提供的进程负载获取方法的实现流程示意图;
图3是图2所示的进程负载获取方法中第一链表的示意图;
图4是图2所示的进程负载获取方法中第二链表的示意图;
图5是本发明一实施例提供的电子终端的结构示意图;
图6是本发明另一实施例提供的电子终端的结构示意图;
图7是本发明一实施例提供的一种电子终端的硬件结构图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明一实施例提供的进程负载获取方法的实现流程示意图,该方法可应用于电子终端中,电子终端包括:智能手机、平板电脑、笔记本电脑等可在移动中使用的电子数据处理设备以及其他非可在移动中使用的电子数据处理设备,如台式电脑。如图1所示,该方法主要包括以下步骤:
S101、获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息;
具体的,当接收到用户输入的负载获取命令时,将该负载获取命令中的时长信息作为预设时长,执行步骤S101至步骤S103。
作为一实际应用例,可自定义superstate命令用于触发执行步骤S101至步骤S103。以手机为例,首先在手机中安装adb(Android Debug Bridge,安卓调试桥)环境,用户通过adb命令进入手机终端,然后执行superstate命令即可获取系统各个进程的负载(即,运算量),相关参数说明如下:
-d:测试时长(单位是秒)
-m:输出进程的数目(按照运算量进行排名,输出前m名的进程信息)
可以根据用户输入的例如:superstate-d 30-m 100的命令,触发执行步骤S101至步骤S103。
需要说明的是,上述superstate命令只是一种示例,在实际应用中,还可以是其他具有相同功能的以其他名称命名的命令。
可选的,系统也可以根据预设的触发时间,在该触发时间到达时,自动触发执行步骤S101至步骤S103。
预设时长内发生的进程切换事件的描述信息,用于描述预设的测试时长内,有什么样的进程在什么时间被切换执行为什么样的进程,例如可以但不限于包括:预设的测试时长内发生的每一起进程切换事件涉及的进程的标识信息、发生进程切换的时间戳以及切换前执行的进程占用的处理器的标识信息。其中每一起进程切换事件涉及的进程的标识信息包括切换前的进程的标识信息和切换后的进程的标识信息。进程的标识信息是可用于唯一标识进程身份的信息,例如:进程名称与进程编号。
预设时长内发生的处理器频率变化事件的描述信息,用于描述在预设的测试时长内,哪一个处理器的频率发生了什么样的变化,例如可以但不限于包括:预设测试时长内发生的每一起处理器频率变化事件涉及的频率发生变化的处理器的标识信息、发生频率变化的时间戳以及变化后的处理器的频率。其中处理器的标识信息是可以用于唯一标识该处理器身份的标识信息,例如:该处理器的编号。
本实施例中的频率是指处理器的工作频率。本实施例中的处理器包括:CPU以及图形处理器(Graphics Processing Unit,GPU)等一切具有变频功能的处理器。
S102、根据进程切换事件的描述信息和处理器频率变化事件的描述信息,得到预设时长内切换执行的进程在处理器的不同频率下的执行时间;
根据进程切换事件的描述信息和处理器频率变化事件的描述信息,得到预设的测试时长内发生的所有进程切换事件涉及的每一个进程在处理器的不同频率下的执行时间。其中处理器不限于一个。例如:进程A在处理器A的第一频率下的执行时间,在处理器A的第二频率下的执行时间,在处理器B的第一频率下的执行时间等等。
执行时间可以根据描述信息中的时间戳和进程的标识信息得到,或者,描述信息中可以直接包括切换执行的进程的执行时间的信息。
S103、将切换执行的进程的各执行时间与对应的处理器的不同频率的乘积之和,作为切换执行的进程在预设时长内的总负载,并输出。
本发明实施例中,通过将预设时长内切换执行的进程的各执行时间与对应的处理器的不同频率的乘积之和,作为切换执行的进程在预设时长内的总负载,由于该总负载是以处理器的不同频率变化为依据计算得到,因此符合动态变频环境下进程的负载的实际变化情况,从而可为变频环境下的用户软件、进程的负载分析、行为分析提供更为有效的参考。
请参阅图2,图2为本发明另一实施例提供的进程负载获取方法的实现流程示意图,该方法可应用于电子终端中,电子终端包括:智能手机、平板电脑、笔记本电脑等可在移动中使用的电子数据处理设备以及其他非可在移动中使用的电子数据处理设备,如台式电脑。如图2所示,该方法主要包括以下步骤:
S201、通过ftrace调试工具,获取预设时长内进程切换事件的原始信息和处理器频率变化事件的原始信息;
具体的,当接收到用户输入的负载获取命令时,将该负载获取命令中的时长信息作为预设时长,执行本实施例中的各步骤。
作为一实际应用例,可自定义superstate命令用于触发执行本实施例中的各步骤。以手机为例,首先在手机中安装adb(Android Debug Bridge,安卓调试桥)环境,用户通过adb命令进入手机终端,然后执行superstate命令即可获取系统各个进程的负载(即,运算量),相关参数说明如下:
-d:测试时长(单位是秒)
-m:输出进程的数目(按照运算量进行排名,输出前m名的进程信息)
可以根据用户输入的例如:superstate-d 30-m 100的命令,触发执行本实施例中的各步骤。
需要说明的是,上述superstate命令只是一种示例,在实际应用中,还可以是其他具有相同功能的以其他名称命名的命令。
可选的,系统也可以根据预设的触发时间,在该触发时间到达时,自动触发执行本实施例中的各步骤。
ftrace是基于linux系统的调试工具,以CPU为例,通过ftrace-sched_switce事件可获取进程切换事件,通过ftrace-cpu_frequency事件可获取CPU的频率变化事件。其中sched_switce事件的原始信息例如可如下所示:
cpu_frequency事件的原始信息例如可如下所示:
cfinteractive-74[001]...1 302.072082:cpu_frequency:state=819000cpu_id=0
cfinteractive-74[001]...1 302.072104:cpu_frequency:state=819000 cpu_id=1
cfinteractive-74[001]...1 302.072118:cpu_frequency:state=819000 cpu_id=2
cfinteractive-74[001]...1 302.072133:cpu_frequency:state=819000 cpu_id=3
S202、解析进程切换事件的原始信息和处理器频率变化事件的原始信息,得到进程切换事件的描述信息和处理器频率变化事件的描述信息;
对进程切换事件的原始信息进行解析,得到该原始信息中的切换前的进程的标识信息和切换后的进程的标识信息、发生进程切换的时间戳以及切换前执行的进程占用的处理器的标识信息,作为该进程切换事件的描述信息。其中进程的标识信息包括:进程名称与进程编号。
对处理器频率变化事件的原始信息进行解析,得到该原始信息中的频率发生变化的处理器的标识信息、发生频率变化的时间戳以及变化后的处理器的频率,作为该处理器频率变化事件的描述信息。其中处理器的标识信息包括处理器的编号。本实施例中的频率是指处理器的工作频率。本实施例中的处理器包括:CPU以及GPU等一切具有变频功能的处理器。
S203、将每一个进程切换事件和每一个处理器频率变化事件分别作为一个事件对象,将事件对象对应的进程切换事件或处理器频率变化事件的描述信息作为事件对象的描述信息;
在解析的过程中,将包括进程切换事件和处理器频率变化事件在内的每一个事件,都使用1个事件对象(以下统称为event_info对象)来描述,每一个事件对象对应的进程切换事件或处理器频率变化事件的描述信息即为该事件对象的描述信息。在实际应用中,以CPU为例,event_info对象的伪代码例如可描述如下:
上述伪代码用于记录事件对象的描述信息,其中struct event_info中的intevent_type用于标识该段代码中记录的描述信息对应的是进程切换事件还是处理器频率变化事件。上述两种事件的描述信息不同时记录在同一段伪代码中。
struct event_info中的int cpu和struct timeval event_time与int event_type所标识的具体事件的描述信息中的CPU编号和时间戳一致。
S204、按照事件对象的描述信息中时间戳的先后顺序,将各事件对象保存在预设的第一链表中;
根据时间戳的先后顺序,将所有的event_info对象加入预设的第一链表。
为了使组织形式更加清晰,提高处理效率,可选的,为每个处理器分别创建一个子链表,将每一个处理器对应的所有event_info对象,按照event_info对象的描述信息中的时间戳的先后顺序,保存在每一个处理器对应的子链表中,多个子链表共同构成第一链表。以CPU为例,第一链表可如图3所示,由X个子链表构成,每一个子链表分别对应CPU-1至CPU-X。
S205、对第一链表中的各事件对象的描述信息进行识别,得到预设时长内各切换执行的进程在处理器的不同频率下的执行时间;
执行时间可以根据各事件对象的描述信息中的时间戳和进程的标识信息识别得到。例如:假设CPU1对应的子链接中保存的事件对象A的描述信息为:发生进程切换事件的时间戳为1705,切换前的进程编号为1,切换后的进程编号为2;事件对象B的描述信息为:发生进程切换事件的时间戳为1707,切换前的进程编号为2,切换后的进程编号为3。由于事件对象A中切换后的进程编号为2,事件对象B中切换前的进程编号为2,且事件对象A和B是连续的,则事件对象B的时间戳1707与事件对象A的时间戳1705之间的时间差,即可识别为进程编号为2的进程的执行时间X。然后,根据时间戳1705,在该子链接中,查找与该时间戳相匹配的与处理器频率变化事件对应的事件对象,根据该事件对象的描述信息,可以识别出进程编号为2的进程的执行时间X对应的CPU1的工作频率。
可选的,考虑到根据时间戳的先后顺序,将所有的event_info对象加入第一链表,这对于内存的要求较高,因此为了兼顾配置较低的终端,可以按照预设的事件信息处理数量,分组执行上述解析进程切换事件的原始信息和处理器频率变化事件的原始信息,得到进程切换事件的描述信息和处理器频率变化事件的描述信息的步骤,至上述对第一链表中的各事件对象的描述信息进行识别,得到切换执行的进程在处理器的不同频率下的执行时间的步骤,直至得到所有的切换执行的进程在处理器的不同频率下的执行时间。即,分组执行上述步骤S202至步骤S205,直至得到所有的切换执行的进程在处理器的不同频率下的执行时间。例如:假设共有200个事件,则可以50事件为一组,将这200个事件分成四组,先对第一组50个事件分别执行上述步骤S202至步骤S205,得到第一组50个事件中切换执行的进程在处理器的不同频率下的执行时间,然后再对第二组50个事件分别执行上述步骤S202至步骤S205,得到第二组50个事件中切换执行的进程在处理器的不同频率下的执行时间,循环往复,直至得到200个事件中所有切换执行的进程在处理器的不同频率下的执行时间。
S206、将切换执行的进程的各执行时间与对应的处理器的不同频率的乘积之和,作为切换执行的进程在预设时长内的总负载,并将切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息;
具体的,可通过以下公式,得到每一个切换执行的进程在预设时长内的总负载。
其中,Load是指切换执行的进程的总负载,Freqi是指处理器的频率,timei是指该切换执行的进程在该频率下的执行时间,i是事件对象的编号。
可选的,在将切换执行的进程的总负载及标识信息记录为对应的进程对象(proc_info对象)的描述信息之前,判断该切换执行的进程是否有对应的进程对象。若无对应的进程对象,则为该切换执行的进程创建对应的进程对象,然后将该切换执行的进程的总负载及标识信息记录为创建的进程对象的描述信息。若有对应的进程对象,则将计算得到的总负载更新为对应的进程对象的描述信息中的总负载。
S207、将进程对象保存在预设的第二链表中,并按照总负载由大到小的顺序,对第二链表中的各进程对象进行排序;
将所有的proc_info对象保存在预设的第二链表中,第二链表可如图4所示。然后根据各进程对象的描述信息中描述的总负载的大小,按照由大到小的顺序,对第二链表中的各进程对象进行排序,最终得到一条负载从大到小的链表。
S208、输出第二链表上排名前预置个位的进程对象的描述信息。
输出的进程对象的个数可根据superstate命令中数目参数m的值确定,或者,根据用户预设的系统默认值确定。输出的描述信息包括进程的标识信息以及该进程的负载。其中进程的标识信息包括进程编号和进程名称。
本发明实施例中,通过将预设时长内切换执行的进程的各执行时间与对应的处理器的不同频率的乘积之和,作为切换执行的进程在预设时长内的总负载,该总负载是以处理器的不同频率变化为依据计算得到,因此符合动态变频环境下进程的负载的实际变化情况,从而可为变频环境下的用户软件、进程的负载分析、行为分析提供更为有效的参考。
请参阅图5,图5是本发明一实施例提供的电子终端的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图5示例的电子终端可以是前述图1所示实施例提供的进程负载获取方法的执行主体。图5示例的电子终端,主要包括:
描述信息获取模块501,用于获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息。
执行时间获取模块502,用于根据该进程切换事件的描述信息和该处理器频率变化事件的描述信息,得到该预设时长内切换执行的进程在处理器的不同频率下的执行时间。
总负载获取模块503,用于将各该执行时间与对应的该处理器的不同频率的乘积之和,作为该切换执行的进程在该预设时长内的总负载。
输出模块504,用于输出该总负载。
具体的,电子终端在接收到用户输入的负载获取命令时,将该负载获取命令中的时长信息作为预设时长,通过描述信息获取模块501,获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息。然后,通过执行时间获取模块502,根据该进程切换事件的描述信息和该处理器频率变化事件的描述信息,得到该预设时长内切换执行的进程在处理器的不同频率下的执行时间。之后,通过总负载获取模块503将各该执行时间与对应的该处理器的不同频率的乘积之和,作为该切换执行的进程在该预设时长内的总负载。最后,通过输出模块504输出该总负载。
本实施例未尽之细节,请参阅前述图1所示实施例的描述,此处不再赘述。
需要说明的是,以上图5示例的电子终端的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将电子终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。
本发明实施例中,通过将预设时长内切换执行的进程的各执行时间与对应的处理器的不同频率的乘积之和,作为切换执行的进程在预设时长内的总负载,由于该总负载是以处理器的不同频率变化为依据计算得到,因此符合动态变频环境下进程的负载的实际变化情况,从而可为变频环境下的用户软件、进程的负载分析、行为分析提供更为有效的参考。
请参阅图6,本发明另一实施例提供的电子终端的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图6示例的电子终端可以是前述图1至图4所示实施例提供的进程负载获取方法的执行主体。图6示例的电子终端,与图5所示实施例中的电子终端的不同之处主要在于:
进一步的,描述信息获取模块501包括:
原始信息获取模块5011,用于通过ftrace调试工具,获取该进程切换事件的原始信息和该处理器频率变化事件的原始信息;
解析模块5012,用于解析该进程切换事件的原始信息和该处理器频率变化事件的原始信息,得到该进程切换事件的描述信息和该处理器频率变化事件的描述信息,该进程切换事件的描述信息包括:该预设时长内切换执行的进程的标识信息、发生进程切换的时间戳以及切换前执行的进程占用的处理器的标识信息;该处理器频率变化事件的描述信息包括:频率发生变化的处理器的标识信息、发生频率变化的时间戳以及变化后的该处理器的频率。
具体的,通过原始信息获取模块5011调用ftrace调试工具,获取预设时长内发生的进程切换事件的原始信息和该处理器频率变化事件的原始信息。然后,通过解析模块5012解析该进程切换事件的原始信息和该处理器频率变化事件的原始信息,得到该进程切换事件的描述信息和该处理器频率变化事件的描述信息。
进一步的,解析模块5012,还用于将每一个该进程切换事件和每一个该处理器频率变化事件分别作为一个事件对象,将该事件对象对应的该进程切换事件或该处理器频率变化事件的描述信息作为该事件对象的描述信息;
该电子终端还包括:
保存模块601,用于按照该事件对象的描述信息中时间戳的先后顺序,将各该事件对象保存在预设的第一链表中;
执行时间获取模块502,还用于对该第一链表中的各该事件对象的描述信息进行识别,得到各该切换执行的进程在该处理器的不同频率下的执行时间。
具体的,在解析过程中,通过解析模块5012将每一个该进程切换事件和每一个该处理器频率变化事件分别作为一个事件对象,将该事件对象对应的该进程切换事件或该处理器频率变化事件的描述信息作为该事件对象的描述信息,然后,通过保存模块601按照该事件对象的描述信息中时间戳的先后顺序,将各该事件对象保存在预设的第一链表中。通过执行时间获取模块502对该第一链表中的各该事件对象的描述信息进行识别,得到各该切换执行的进程在该处理器的不同频率下的执行时间。
进一步的,该第一链表由多个子链表构成,则保存模块601,还用于为每一个处理器创建对应的子链表,以及将每一个处理器对应的所有该事件对象,按照该事件对象的描述信息中时间戳的先后顺序,保存在每一个处理器对应的子链表中。
具体的,为了使组织形式更加清晰,提高处理效率,通过保存模块601为每一个处理器创建对应的子链表,以及将每一个处理器对应的所有该事件对象,按照该事件对象的描述信息中时间戳的先后顺序,保存在每一个处理器对应的子链表中。
进一步的,该电子终端还包括:
记录模块602,用于将该切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息;
保存模块601,还用于将该进程对象保存在预设的第二链表中,并按照该总负载由大到小的顺序,对该第二链表中的各该进程对象进行排序;
输出模块504,还用于输出该第二链表上排名前预置个位的进程对象的描述信息。
具体的,以链表的形式记录各进程的总负载。即,通过记录模块602将该切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息。然后,通过保存模块601将该进程对象保存在预设的第二链表中,并按照该总负载由大到小的顺序,对该第二链表中的各该进程对象进行排序。之后,通过输出模块504输出该第二链表上排名前预置个位的进程对象的描述信息。
进一步的,该电子终端还包括:
判断模块603,用于判断该切换执行的进程是否有对应的进程对象;
创建模块604,用于若判断模块603的判断结果为该切换执行的进程没有对应的进程对象,则为该切换执行的进程创建进程对象,并触发记录模块602根据创建的进程对象,执行该将该切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息的步骤;
记录模块602,还用于若判断模块603的判断结果为该切换执行的进程有对应的进程对象,则更新该对应的进程对象的描述信息中的总负载。
具体的,在通过记录模块602执行该将该切换执行的进程的总负载及标识信息记录为创建的进程对象的描述信息的步骤之前,先通过判断模块603判断该切换执行的进程是否有对应的进程对象。若判断模块603的判断结果为该切换执行的进程没有对应的进程对象,则通过创建模块604为该切换执行的进程创建进程对象,并触发记录模块602执行该将该切换执行的进程的总负载及标识信息记录为创建的进程对象的描述信息的步骤。若判断模块603的判断结果为该切换执行的进程有对应的进程对象,则通过记录模块602更新该对应的进程对象的描述信息中的总负载。
进一步的,解析模块5012,还用于按照预设的事件信息处理数量,分组执行解析该进程切换事件的原始信息和该处理器频率变化事件的原始信息,得到该进程切换事件的描述信息和该处理器频率变化事件的描述信息的步骤;
解析模块5012,还用于按照该预设的事件信息处理数量,分组执行将每一个该进程切换事件和每一个该处理器频率变化事件分别作为一个事件对象,将该事件对象对应的该进程切换事件或该处理器频率变化事件的描述信息作为该事件对象的描述信息的步骤;
保存模块601,还用于按照该预设的事件信息处理数量,分组执行按照该事件对象的描述信息中时间戳的先后顺序,将各该事件对象保存在预设的第一链表中的步骤;
执行时间获取模块502,还用于按照该预设的事件信息处理数量,分组执行对该第一链表中的各该事件对象的描述信息进行识别,得到各该切换执行的进程在该处理器的不同频率下的执行时间的步骤;
保存模块601,还用于按照该预设的事件信息处理数量,分组执行为每一个处理器创建对应的子链表,以及将每一个处理器对应的所有该事件对象,按照该事件对象的描述信息中时间戳的先后顺序,保存在每一个处理器对应的子链表中的步骤。
具体的,为了考虑到根据时间戳的先后顺序,将所有的event_info对象加入第一链表,这对于内存的要求较高,因此为了兼顾配置较低的终端,按照预设的事件信息处理数量,控制解析模块5012、保存模块601以及执行时间获取模块502分组循环执行各自对应的步骤,直至得到所有的切换执行的进程在处理器的不同工作频率下的执行时间。
本实施例未尽之细节,请参阅前述图1至图5所示实施例的描述,此处不再赘述。
本发明实施例中,通过将预设时长内切换执行的进程的各执行时间与对应的处理器的不同频率的乘积之和,作为切换执行的进程在预设时长内的总负载,由于该总负载是以处理器的不同频率变化为依据计算得到,因此符合动态变频环境下进程的负载的实际变化情况,从而可为变频环境下的用户软件、进程的负载分析、行为分析提供更为有效的参考。
请参阅图7,图7为本发明一实施例提供的电子终端的硬件结构图。
本实施例中所描述的电子终端,包括:
存储器51、处理器52及存储在存储器51上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时,实现前述图1至图4所示实施例中描述的进程负载获取方法。
进一步地,该电子终端还包括:
至少一个输入设备53;至少一个输出设备54。
上述存储器51、处理器52输入设备53和输出设备54通过总线55连接。
其中,输入设备53具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备54具体可为显示屏。
存储器51可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器51用于存储一组可执行程序代码,处理器52与存储器51耦合。
进一步地,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子终端中,该计算机可读存储介质可以是前述图7所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1至图4所示实施例中描述的进程负载获取方法。进一步地,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的多个实施例中,应该理解到,所揭露的电子终端和方法,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,模块的间接耦合或通信链接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的进程负载获取方法、电子终端及计算机可读存储介质的描述,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (17)
1.一种进程负载获取方法,其特征在于,包括:
获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息;
根据所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息,得到所述预设时长内切换执行的进程在处理器的不同频率下的执行时间;
将各所述执行时间与对应的所述处理器的不同频率的乘积之和,作为所述切换执行的进程在所述预设时长内的总负载,并输出所述总负载。
2.如权利要求1所述的进程负载获取方法,其特征在于,所述获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息包括:
通过ftrace调试工具,获取所述进程切换事件的原始信息和所述处理器频率变化事件的原始信息;
解析所述进程切换事件的原始信息和所述处理器频率变化事件的原始信息,得到所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息,所述进程切换事件的描述信息包括:所述预设时长内切换执行的进程的标识信息、发生进程切换的时间戳以及切换前执行的进程占用的处理器的标识信息;所述处理器频率变化事件的描述信息包括:频率发生变化的处理器的标识信息、发生频率变化的时间戳以及变化后的所述处理器的频率。
3.如权利要求2所述的进程负载获取方法,其特征在于,所述根据所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息,得到所述预设时长内切换执行的进程在处理器的不同频率下的执行时间之前,包括:
将每一个所述进程切换事件和每一个所述处理器频率变化事件分别作为一个事件对象,将所述事件对象对应的所述进程切换事件或所述处理器频率变化事件的描述信息作为所述事件对象的描述信息;
按照所述事件对象的描述信息中时间戳的先后顺序,将各所述事件对象保存在预设的第一链表中;
则,所述根据所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息,得到所述预设时长内切换执行的进程在处理器的不同频率下的执行时间包括:
对所述第一链表中的各所述事件对象的描述信息进行识别,得到各所述切换执行的进程在所述处理器的不同频率下的执行时间。
4.如权利要求3所述的进程负载获取方法,其特征在于,所述第一链表由多个子链表构成,则所述按照所述事件对象的描述信息中时间戳的先后顺序,将各所述事件对象保存在预设的链表中,包括:
为每一个处理器创建对应的子链表;
将每一个处理器对应的所有所述事件对象,按照所述事件对象的描述信息中时间戳的先后顺序,保存在每一个处理器对应的子链表中。
5.如权利要求1至4中的任一项所述的进程负载获取方法,其特征在于,所述将各所述执行时间与对应的所述处理器的不同频率的乘积之和,作为所述切换执行的进程在所述预设时长内的总负载之后,包括:
将所述切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息;
将所述进程对象保存在预设的第二链表中,并按照所述总负载由大到小的顺序,对所述第二链表中的各所述进程对象进行排序。
6.如权利要求5所述的进程负载获取方法,其特征在于,所述输出所述总负载包括:
输出所述第二链表上排名前预置个位的进程对象的描述信息。
7.如权利要求5所述的进程负载获取方法,其特征在于,所述将所述切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息之前,还包括:
判断所述切换执行的进程是否有对应的进程对象;
若所述切换执行的进程没有对应的进程对象,则为所述切换执行的进程创建进程对象,并根据创建的进程对象,执行所述将所述切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息的步骤;
若所述切换执行的进程有对应的进程对象,则更新所述对应的进程对象的描述信息中的总负载。
8.如权利要求3或4所述的进程负载获取方法,其特征在于,按照预设的事件信息处理数量,分组执行所述解析所述进程切换事件的原始信息和所述处理器频率变化事件的原始信息,得到所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息的步骤,至所述对所述第一链表中的各所述事件对象的描述信息进行识别,得到各所述切换执行的进程在所述处理器的不同频率下的执行时间的步骤,直至得到所有的所述切换执行的进程在所述处理器的不同频率下的执行时间。
9.一种电子终端,其特征在于,包括:
描述信息获取模块,用于获取预设时长内发生的进程切换事件的描述信息和处理器频率变化事件的描述信息;
执行时间获取模块,用于根据所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息,得到所述预设时长内切换执行的进程在处理器的不同频率下的执行时间;
总负载获取模块,用于将各所述执行时间与对应的所述处理器的不同频率的乘积之和,作为所述切换执行的进程在所述预设时长内的总负载;
输出模块,用于输出所述总负载。
10.如权利要求9所述的电子终端,其特征在于,所述描述信息获取模块包括:
原始信息获取模块,用于通过ftrace调试工具,获取所述进程切换事件的原始信息和所述处理器频率变化事件的原始信息;
解析模块,用于解析所述进程切换事件的原始信息和所述处理器频率变化事件的原始信息,得到所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息,所述进程切换事件的描述信息包括:所述预设时长内切换执行的进程的标识信息、发生进程切换的时间戳以及切换前执行的进程占用的处理器的标识信息;所述处理器频率变化事件的描述信息包括:频率发生变化的处理器的标识信息、发生频率变化的时间戳以及变化后的所述处理器的频率。
11.如权利要求10所述的电子终端,其特征在于,
所述解析模块,还用于将每一个所述进程切换事件和每一个所述处理器频率变化事件分别作为一个事件对象,将所述事件对象对应的所述进程切换事件或所述处理器频率变化事件的描述信息作为所述事件对象的描述信息;
所述电子终端还包括:
保存模块,用于按照所述事件对象的描述信息中时间戳的先后顺序,将各所述事件对象保存在预设的第一链表中;
所述执行时间获取模块,还用于对所述第一链表中的各所述事件对象的描述信息进行识别,得到各所述切换执行的进程在所述处理器的不同频率下的执行时间。
12.如权利要求11所述的电子终端,其特征在于,所述第一链表由多个子链表构成,则所述保存模块,还用于为每一个处理器创建对应的子链表,以及将每一个处理器对应的所有所述事件对象,按照所述事件对象的描述信息中时间戳的先后顺序,保存在每一个处理器对应的子链表中。
13.如权利要求12所述的电子终端,其特征在于,所述电子终端还包括:
记录模块,用于将所述切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息;
所述保存模块,还用于将所述进程对象保存在预设的第二链表中,并按照所述总负载由大到小的顺序,对所述第二链表中的各所述进程对象进行排序;
所述输出模块,还用于输出所述第二链表上排名前预置个位的进程对象的描述信息。
14.如权利要求13所述的电子终端,其特征在于,所述电子终端还包括:
判断模块,用于判断所述切换执行的进程是否有对应的进程对象;
创建模块,用于若所述判断模块的判断结果为所述切换执行的进程没有对应的进程对象,则为所述切换执行的进程创建进程对象,并触发所述记录模块根据创建的进程对象,执行所述将所述切换执行的进程的总负载及标识信息记录为对应的进程对象的描述信息的步骤;
所述记录模块,还用于若所述判断模块的判断结果为所述切换执行的进程有对应的进程对象,则更新所述对应的进程对象的描述信息中的总负载。
15.如权利要求14所述的电子终端,其特征在于,
所述解析模块,还用于按照预设的事件信息处理数量,分组执行解析所述进程切换事件的原始信息和所述处理器频率变化事件的原始信息,得到所述进程切换事件的描述信息和所述处理器频率变化事件的描述信息的步骤;
所述解析模块,还用于按照所述预设的事件信息处理数量,分组执行将每一个所述进程切换事件和每一个所述处理器频率变化事件分别作为一个事件对象,将所述事件对象对应的所述进程切换事件或所述处理器频率变化事件的描述信息作为所述事件对象的描述信息的步骤;
所述保存模块,还用于按照所述预设的事件信息处理数量,分组执行按照所述事件对象的描述信息中时间戳的先后顺序,将各所述事件对象保存在预设的第一链表中的步骤;
所述执行时间获取模块,还用于按照所述预设的事件信息处理数量,分组执行对所述第一链表中的各所述事件对象的描述信息进行识别,得到各所述切换执行的进程在所述处理器的不同频率下的执行时间的步骤;
所述保存模块,还用于按照所述预设的事件信息处理数量,分组执行为每一个处理器创建对应的子链表,以及将每一个处理器对应的所有所述事件对象,按照所述事件对象的描述信息中时间戳的先后顺序,保存在每一个处理器对应的子链表中的步骤。
16.一种电子终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至8中的任一项所述的进程负载获取方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至8中的任一项所述的进程负载获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710580205.5A CN107436839B (zh) | 2017-07-17 | 2017-07-17 | 进程负载获取方法、电子终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710580205.5A CN107436839B (zh) | 2017-07-17 | 2017-07-17 | 进程负载获取方法、电子终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107436839A true CN107436839A (zh) | 2017-12-05 |
CN107436839B CN107436839B (zh) | 2020-07-17 |
Family
ID=60460242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710580205.5A Active CN107436839B (zh) | 2017-07-17 | 2017-07-17 | 进程负载获取方法、电子终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107436839B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333233A (zh) * | 2020-09-23 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 事件信息的上报方法、装置、电子设备及存储介质 |
CN113138909A (zh) * | 2020-01-20 | 2021-07-20 | Oppo广东移动通信有限公司 | 负载统计方法、装置、存储介质及电子设备 |
CN115309347A (zh) * | 2022-10-10 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 基于ssd主控变频的时间管理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1359041A (zh) * | 2000-12-18 | 2002-07-17 | 联想(北京)有限公司 | 根据cpu的利用率调节cpu频率的方法 |
CN101853066A (zh) * | 2009-02-11 | 2010-10-06 | 上海芯豪微电子有限公司 | 一种自动实时调整系统时钟频率的方法和装置 |
US20120054503A1 (en) * | 2010-08-31 | 2012-03-01 | Integrated Device Technology, Inc. | Systems, apparatuses and methods for dynamic voltage and frequency control of components used in a computer system |
CN103955264A (zh) * | 2014-05-15 | 2014-07-30 | 乐视致新电子科技(天津)有限公司 | 动态调节处理器工作频率的方法及系统 |
CN105045369A (zh) * | 2015-06-19 | 2015-11-11 | 北京大学深圳研究生院 | 一种基于用户交互历史信息的cpu动态调频方法 |
-
2017
- 2017-07-17 CN CN201710580205.5A patent/CN107436839B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1359041A (zh) * | 2000-12-18 | 2002-07-17 | 联想(北京)有限公司 | 根据cpu的利用率调节cpu频率的方法 |
CN101853066A (zh) * | 2009-02-11 | 2010-10-06 | 上海芯豪微电子有限公司 | 一种自动实时调整系统时钟频率的方法和装置 |
US20120054503A1 (en) * | 2010-08-31 | 2012-03-01 | Integrated Device Technology, Inc. | Systems, apparatuses and methods for dynamic voltage and frequency control of components used in a computer system |
CN103955264A (zh) * | 2014-05-15 | 2014-07-30 | 乐视致新电子科技(天津)有限公司 | 动态调节处理器工作频率的方法及系统 |
CN105045369A (zh) * | 2015-06-19 | 2015-11-11 | 北京大学深圳研究生院 | 一种基于用户交互历史信息的cpu动态调频方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138909A (zh) * | 2020-01-20 | 2021-07-20 | Oppo广东移动通信有限公司 | 负载统计方法、装置、存储介质及电子设备 |
CN112333233A (zh) * | 2020-09-23 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 事件信息的上报方法、装置、电子设备及存储介质 |
CN112333233B (zh) * | 2020-09-23 | 2023-11-24 | 北京达佳互联信息技术有限公司 | 事件信息的上报方法、装置、电子设备及存储介质 |
CN115309347A (zh) * | 2022-10-10 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 基于ssd主控变频的时间管理方法、装置、设备及介质 |
WO2024078005A1 (zh) * | 2022-10-10 | 2024-04-18 | 苏州元脑智能科技有限公司 | 基于ssd主控变频的时间管理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107436839B (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fernández-Cerero et al. | SCORE: Simulator for cloud optimization of resources and energy consumption | |
CN108090516A (zh) | 自动生成机器学习样本的特征的方法及系统 | |
CN104765589B (zh) | 基于mpi的网格并行预处理方法 | |
CN113420073A (zh) | 基于改进的孤立森林的异常样本检测方法及相关设备 | |
CN108491263A (zh) | 数据处理方法、数据处理装置、终端及可读存储介质 | |
CN104182278B (zh) | 一种判定计算机硬件资源繁忙程度的方法和装置 | |
CN107436839A (zh) | 进程负载获取方法、电子终端及计算机可读存储介质 | |
CN103677990A (zh) | 虚拟机实时任务的调度方法、装置和虚拟机 | |
CN116127899B (zh) | 芯片设计系统、方法、电子设备和存储介质 | |
Wang et al. | A knowledge-based multi-agent evolutionary algorithm for semiconductor final testing scheduling problem | |
Singh et al. | MX/G/1 unreliable retrial queue with option of additional service and Bernoulli vacation | |
Mizera et al. | ASSA-PBN: an approximate steady-state analyser of probabilistic Boolean networks | |
CN114895773A (zh) | 异构多核处理器的能耗优化方法、系统、装置及存储介质 | |
CN113852719A (zh) | 一种多个马达振动效果关系的确定方法及其相关设备 | |
CN106649067B (zh) | 一种性能和能耗预测方法及装置 | |
CN113971455A (zh) | 一种分布式模型训练方法、装置、存储介质及计算机设备 | |
CN105930202A (zh) | 一种三阈值的虚拟机迁移策略 | |
CN114021733B (zh) | 模型训练优化方法、装置、计算机设备及存储介质 | |
US7089174B2 (en) | Modelling device behaviour using a first model, a second model and stored valid behaviour | |
CN110515718A (zh) | 批量任务断点续作方法、装置、设备及介质 | |
Ramanathan et al. | Parallelized parameter estimation of biological pathway models | |
CN114896114B (zh) | 计分板实现方法、装置、计分板、电子设备及存储介质 | |
Gatica et al. | Adaptable realization of industrial analytics functions on edge-devices using reconfigurable architectures | |
Drabowski | Modification of neural network Tsang-Wang in algorithm for CAD of complex systems with higher degree of dependability | |
Birman et al. | Hierarchical Deep Reinforcement Learning Approach for Multi-Objective Scheduling With Varying Queue Sizes |
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 |
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |