CN114816743A - 基于Android车机的CPU和Memory占用数据监测分析方法及系统 - Google Patents

基于Android车机的CPU和Memory占用数据监测分析方法及系统 Download PDF

Info

Publication number
CN114816743A
CN114816743A CN202210404762.2A CN202210404762A CN114816743A CN 114816743 A CN114816743 A CN 114816743A CN 202210404762 A CN202210404762 A CN 202210404762A CN 114816743 A CN114816743 A CN 114816743A
Authority
CN
China
Prior art keywords
data
cpu
memory
data information
time
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.)
Pending
Application number
CN202210404762.2A
Other languages
English (en)
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.)
Dongfeng Motor Corp
Original Assignee
Dongfeng Motor Corp
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 Dongfeng Motor Corp filed Critical Dongfeng Motor Corp
Priority to CN202210404762.2A priority Critical patent/CN114816743A/zh
Publication of CN114816743A publication Critical patent/CN114816743A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于Android车机的CPU和Memory占用数据监测分析方法及系统,属于网络数据监测技术领域,通过Android调试桥(adb)命令行工具,与Android设备进行通信,再通过调用dumpsys工具来获取android设备中各个进程的CPU及Memory的占用数据信息,通过python程序对获取的数据信息进行处理,再传递至QT界面,形成一套可以实时监测分析CPU和Memory占用数据情况的系统,包括:实时监测各进程CPU和Mmeory数据信息;对CPU和Memory的数据进行文件储存;对已储存的CPU和Memory数据文件能进行导入分析;以折线图的形式在程序中进行展示;能够筛选所需要分析的进程数据。

Description

基于Android车机的CPU和Memory占用数据监测分析方法及 系统
技术领域
本发明属于网络数据监测技术领域,更具体地,涉及一种基于Android车机的CPU和Memory占用数据监测分析方法及系统。
背景技术
Android车机开发过程中,开发人员通常只能通过dumpsys工具来实时获取各个进程的CPU和Memory的占用情况。获取CPU占用数据:adb shell dumpsys cpuinfo;获取Memory占用数据:adb shell dumpsys-t 60meminfo。
目前只能通过上述两条命令来获取当前时刻Android设备各进程之间的CPU和Memory数据占用情况,而对于车机开发测试来说,通常需要通过操作车机来观察CPU和Memory的数据情况的实时变化,或者在进行monkey测试时,想获取并记录测试期间Android车机各进程的CPU和Memory数据占用情况,而通过命令行来读取通常比较麻烦,获取到的数据信息不够直观,也无法观察其变化趋势。其次开发人员若只想获取一个或者多个进程在某段测试期间内的CPU和Memory数据信息占用情况和变化趋势时,进程数据数据冗杂不方便查找,也不易于观察其变化情况。因此,目前通过上述两条命令来获取当前时刻Android设备各进程之间的CPU和Memory数据占用情况还存在一定的局限性。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提出了一种基于Android车机的CPU和Memory占用数据监测分析方法及系统,可以实时监测分析CPU和Memory占用数据情况。
为实现上述目的,按照本发明的一个方面,提供了一种基于Android车机的CPU和Memory占用数据监测分析系统,包括:
各进程的CPU数据信息实时监测模块,用于基于Android调试桥adb命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的CPU占用数据信息,对所有获取到的CPU占用数据信息进行处理,生成CPU数据信息字典,存储得到CPU占用数据的txt文件,再通过python程序将CPU数据信息字典中的数据进行处理后实时显示到QT界面,形成实时监测变化的折线图,其中,CPU数据信息字典包括各个进程所处的时刻、进程名及该时刻的CPU占用率;
各进程的Memory数据信息实时监测模块,用于基于Android调试桥adb命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的Memory占用数据信息,对所有获取到的Memory占用数据信息进行处理,生成Memory数据信息字典,存储得到Memory占用数据的txt文件,再通过python程序将Memory数据信息字典中的数据进行处理后实时显示到QT界面,形成实时监测变化的折线图,其中,Memory数据信息字典包括各个进程所处的时刻、进程名及该时刻的Memory占用数据大小;
各进程的CPU占用率分析模块,用于获取CPU占用数据的txt文件,再通过python程序对CPU占用数据的txt文件中的数据信息进行分析处理,转换成以时间标志为key值,各进程名和CPU数据信息字典为value值的字典,从而生成CPU数据分析的折线图表;
各进程的Memory占存分析模块,用于获取Memory占用数据的txt文件,再通过python程序对Memory占用数据的txt文件中的数据信息进行分析处理,转换成以时间标志为key值,各进程名和Memory数据信息字典为value值的字典,从而生成Memory数据分析的折线图表。
在一些可选的实施方案中,所述CPU数据信息实时监测模块包括CPU数据信息监测模块和CPU数据信息分析模块;
CPU数据信息监测模块,用于在获取到采集CPU数据信息指令后,python程序启动CPU数据采集线程自动调用adb shell dumpsys cpuinfo命令获取到各进程的CPU占用率数据,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的CPU数据信息字典,并设置时刻列表的buffer,对存储的CPU数据信息字典,根据最后一个时刻所获得的CPU占用率的数据排序,取前若干位作为实时观测数据,从而得到实时显示的动态CPU数据监测图;
CPU数据信息分析模块,用于在每次CPU数据采集中将CPU数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的CPU占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的CPU数据信息字典中的数据循环绘制各时刻的折线图。
在一些可选的实施方案中,所述Memory数据信息实时监测模块包括Memory数据信息监测模块和Memory数据信息分析模块;
Memory数据信息监测模块,用于在获取到采集Memory数据信息指令后,python程序启动Memory数据采集线程自动调用adb shell dumpsys-t 60meminfo命令获取到各进程的Memory数据占用大小,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的Memory数据信息字典,并设置时刻列表的buffer,对存储的Memory数据信息字典,根据最后一个时刻所获得的Memory数据占用大小排序,取前若干位作为实时观测数据,从而得到实时显示的动态Memory数据监测图;
Memory数据信息分析模块,用于在每次Memory数据采集中将Memory数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的Memory占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的Memory数据信息字典中的数据循环绘制各时刻的折线图。
在一些可选的实施方案中,所述CPU占用率分析模块,用于从CPU占用数据的txt文件中获取到CPU数据信息,将CPU数据信息通过QT绘制成CPU数据实时监测图或CPU数据分析折线图,其中,绘制的折线图中为所有CPU进程,通过对CPU数据字典中的进程名进行筛选,能够绘制所筛选的单独进程名,或者多个进程名的CPU数据,同时设置了鼠标联动、左键拖拽画布、滚轮缩放画布以及鼠标悬停二次窗口,方便查看分析。
在一些可选的实施方案中,所述Memory占存分析模块,用于从Memory占用数据的txt文件中获取到Memory数据信息,将Memory数据信息通过QT绘制成Memory数据实时监测图或Memory数据分析折线图,其中,绘制的折线图中为所有Memory进程,通过对Memory数据字典中的进程名进行筛选,能够绘制所筛选的单独进程名,或者多个进程名的Memory数据,同时设置了鼠标联动、左键拖拽画布、滚轮缩放画布以及鼠标悬停二次窗口,方便查看分析。
按照本发明的另一方面,提供了一种基于Android车机的CPU和Memory占用数据监测分析方法,包括:
(1)基于Android调试桥adb命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的CPU占用数据信息,对所有获取到的CPU占用数据信息进行处理,生成CPU数据信息字典,存储得到CPU占用数据的txt文件,再通过python程序将CPU数据信息字典中的数据进行处理后实时显示到QT界面,形成实时监测变化的折线图,其中,CPU数据信息字典包括各个进程所处的时刻、进程名及该时刻的CPU占用率;
(2)基于Android调试桥adb命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的Memory占用数据信息,对所有获取到的Memory占用数据信息进行处理,生成Memory数据信息字典,存储得到Memory占用数据的txt文件,再通过python程序将Memory数据信息字典中的数据进行处理后实时显示到QT界面,形成实时监测变化的折线图,其中,Memory数据信息字典包括各个进程所处的时刻、进程名及该时刻的Memory占用数据大小;
(3)获取CPU占用数据的txt文件,再通过python程序对CPU占用数据的txt文件中的数据信息进行分析处理,转换成以时间标志为key值,各进程名和CPU数据信息字典为value值的字典,从而生成CPU数据分析的折线图表;
(4)获取Memory占用数据的txt文件,再通过python程序对Memory占用数据的txt文件中的数据信息进行分析处理,转换成以时间标志为key值,各进程名和Memory数据信息字典为value值的字典,从而生成Memory数据分析的折线图表。
在一些可选的实施方案中,步骤(1)包括:
(1.1)在获取到采集CPU数据信息指令后,python程序启动CPU数据采集线程自动调用adb shell dumpsys cpuinfo命令获取到各进程的CPU占用率数据,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的CPU数据信息字典,并设置时刻列表的buffer,对存储的CPU数据信息字典,根据最后一个时刻所获得的CPU占用率的数据排序,取前若干位作为实时观测数据,从而得到实时显示的动态CPU数据监测图;
(1.2)在每次CPU数据采集中将CPU数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的CPU占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的CPU数据信息字典中的数据循环绘制各时刻的折线图。
在一些可选的实施方案中,步骤(2)包括:
(2.1)在获取到采集Memory数据信息指令后,python程序启动Memory数据采集线程自动调用adb shell dumpsys-t 60meminfo命令获取到各进程的Memory数据占用大小,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的Memory数据信息字典,并设置时刻列表的buffer,对存储的Memory数据信息字典,根据最后一个时刻所获得的Memory数据占用大小排序,取前若干位作为实时观测数据,从而得到实时显示的动态Memory数据监测图;
(2.2)在每次Memory数据采集中将Memory数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的Memory占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的Memory数据信息字典中的数据循环绘制各时刻的折线图。
在一些可选的实施方案中,步骤(3)包括:
从CPU占用数据的txt文件中获取到CPU数据信息,将CPU数据信息通过QT绘制成CPU数据实时监测图或CPU数据分析折线图,其中,绘制的折线图中为所有CPU进程,通过对CPU数据字典中的进程名进行筛选,能够绘制所筛选的单独进程名,或者多个进程名的CPU数据,同时设置了鼠标联动、左键拖拽画布、滚轮缩放画布以及鼠标悬停二次窗口,方便查看分析。
在一些可选的实施方案中,步骤(4)包括:
从Memory占用数据的txt文件中获取到Memory数据信息,将Memory数据信息通过QT绘制成Memory数据实时监测图或Memory数据分析折线图,其中,绘制的折线图中为所有Memory进程,通过对Memory数据字典中的进程名进行筛选,能够绘制所筛选的单独进程名,或者多个进程名的Memory数据,同时设置了鼠标联动、左键拖拽画布、滚轮缩放画布以及鼠标悬停二次窗口,方便查看分析。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)通过Android调试桥(adb)命令行工具,与Android设备进行通信,再通过调用dumpsys工具来获取android设备中各个进程的CPU及Memory的占用数据信息,通过python程序对获取的数据信息进行处理,再传递至QT界面,形成一套可以实时监测分析CPU和Memory占用数据情况的系统,包括:实时监测各进程CPU和Mmeory数据信息;对CPU和Memory的数据进行文件储存;对已储存的CPU和Memory数据文件能进行导入分析;以折线图的形式在程序中进行展示;能够筛选所需要分析的进程数据。
(2)CPU和Memory数据信息实时监测模块,通过对数据字典中的进程名中最后时刻对应value值进行sorted排序,并取得占比最高的前若干位,可以通过循环不断生成动态的进程名前若干名数据字典,将其传输到gui界面进行实时显示。即在开始采集后能够以动态显示的形式,方便用户在操作车机的同时,还能够实时的查看占用率排名前若干位的进程所对应时间的CPU和Memory数据占用情况,以及在这段时间内其变化趋势。
(3)各进程CPU占用率分析模块和各进程Memory占存分析模块,能够通过读取已储存的cpu.txt或者mem.txt文档,通过对文档中的数据进行处理分析,将其转化为折线图的形式展示在figure画布中,通过在画布中右键可进行筛选所需要显示的进程名对应的CPU数据或Memory数据,并将显示出的数据折线图与鼠标进行交互,可通过鼠标滚轮,左键进行画面缩放,拖动,鼠标悬停进行标签小弹窗显示,非常便捷用户使用。
附图说明
图1是本发明实施例提供的一种基于Android车机的CPU和Memory占用数据监测分析系统示意图;
图2是本发明实施例提供的一种CPU数据信息采集分析流程示意图;
图3是本发明实施例提供的一种CPU和Memory实时数据监测图;
图4是本发明实施例提供的一种CPU数据分析示意图;
图5是本发明实施例提供的一种原始数据分析图及鼠标悬浮提示窗口示意图;
图6是本发明实施例提供的一种Memory数据分析显示界面中筛选二次窗口。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明是基于Android调试桥(adb)命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的CPU及Memory的占用数据信息。通过adb shell dumpsyscpuinfo指令会得到各个进程的CPU占用率,进程序号,及进程名等数据信息,以摘取的这一行为例:1.3%2764/audioserver:0.8%user+0.4%kernel/faults:38minor,可以获得进程名为:audioserver的此时cpu占用率为1.3%。同样的可以通过调用adb shell dumpsys-t 60meminfo指令获得各进程Memory数据占用大小,及对应的进程名等数据信息,以摘选的一行为例:338,087K:com.baidu.che.codriver(pid 3847),可以得到进程名为:com.baidu.che.codriver此时的memory数据占用为338087K。
如图1所示,本发明实施例提供的一种基于Android车机的CPU和Memory占用数据监测分析系统,包括:
各进程的CPU数据信息实时监测模块,通过对所有获取到的CPU数据信息进行处理,生成CPU数据信息字典,再通过python程序将数据进行处理,再将实时显示到QT界面,形成实时监测变化的折线图,CPU数据信息字典为字典-列表-字典的嵌套结构,表示为:{时间:[{CPU进程名1:CPU进程名1的CPU占用率},{CPU进程名2:CPU进程名2的CPU占用率},…]};
各进程的Memory数据信息实时监测模块,通过对所有获取到的Memory数据信息进行处理,生成Memory数据信息字典,再通过python程序将数据进行处理,再将实时显示到QT界面,形成实时监测变化的折线图,其中,Memory数据信息字典为字典-列表-字典的嵌套结构,表示为{时间:[{Memory进程名1:Memory进程名1的Memory数值},{Memory进程名2:Memory进程名2的Memory值},…]};
各进程CPU占用率分析模块,通过一段时间内CPU数据信息的采集,采集完成后会生成CPU占用数据的txt文件,再通过python程序对已采集的数据信息进行分析处理,转换成以时间标志为key值,各进程名和CPU数据信息字典为value值的字典,从而生成CPU数据分析的折线图表;
各进程的Memory占存分析模块,通过一段时间内Memory数据信息的采集,采集完成后会生成Memory占用数据的txt文件,再通过python程序对已采集的数据信息进行分析处理,转换成以时间标志为key值,各进程名和Memory数据信息字典为value值的字典,从而生成Memory数据分析的折线图表。
如图2所示,为CPU数据信息监测分析示意图,通过点击开始采集按钮后,python程序启动CPU数据采集线程自动调用adb shell dumpsys cpuinfo命令获取到各进程的CPU占用率数据,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据time1,通过python数据处理生成time1时刻的数据字典:{time1:{name1:[time1_cpu%],name2:[time1_cpu%],name3:[time1_cpu%],……}},time2时刻的数据字典为:{time1:{name1:[time1_cpu%],name2:[time1_cpu%],name3:[time1_cpu%],……},time2:{name1:[time1_cpu%,time2_cpu%],name2:[time1_cpu%,time2_cpu%],name3:[time1_cpu%,time2_cpu%],……},……},为了防止长时间采集后数据过满,在本发明实施例中,设置了time列表的buffer设置为20,除此之外,由于车机进程较多,开发中通常只为观测占据CPU数据较大的进程,因此对存储的CPU数据字典,根据最后一个time时刻所获得的CPU占用率的数据排序,取前若干位(本发明实施例取12位)作为实时观测数据;
每一次循环都会将CPU数据字典中的time作为折线图中的x轴的坐标列表,每个时刻CPU占用率time_cpu%为y坐标列表,如time1时刻,x轴的坐标x_axis:[time1],y轴的坐标为:y_axis_1:[name1_time1_cpu%,name2_time1_cpu%,name3_time1_cpu%,……],time2时刻,x轴的坐标为,[time1,time2],y轴的坐标为,[[name1_time1_cpu%,name2_time1_cpu%,name3_time1_cpu%,……],[name1_time2_cpu%,name2_time2_cpu%,name3_time2_cpu%,……]],另外将各进程名name放入cpu_name的列表中,作为折线图的图例标椎,通过对所得的CPU数据循环绘制time1,time2,time3……,时刻的数据,从而得到动态的实时显示的动态CPU数据监测图。
在本发明实施例中,Memory数据信息监测分析同CPU数据信息监测分析原理可得动态的memory数据检测图,在获取到采集Memory数据信息指令后,python程序启动Memory数据采集线程自动调用adb shell dumpsys-t 60meminfo命令获取到各进程的Memory数据占用大小,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的Memory数据信息字典,并设置时刻列表的buffer,对存储的Memory数据信息字典,根据最后一个时刻所获得的Memory数据占用大小排序,取前若干位作为实时观测数据;在每次Memory数据采集中将Memory数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的Memory占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的Memory数据信息字典中的数据循环绘制各时刻的折线图,从而得到实时显示的动态Memory数据监测图。
如图3所示,为本发明实施例得到的一种CPU和Memory实时数据监测图。
在本发明实施例中,如图4所示,为CPU数据分析示意图,CPU数据分析流程中,如同CPU数据实时监测模块中,对获取到CPU数据后的步骤类似,不同点在于CPU数据分析是从cpu.txt文件中获取数据进行处理,只要有之前采集过的cpu.txt文件,随时可以通过该文件进行CPU数据分析。在CPU数据分析模块中,通过从cpu.txt文件中获取到数据信息,然后如同CPU数据信息监测分析原理,将CPU数据信息通过QT绘制成折线图。绘制的图标中为所有CPU进程,为了便于筛选查看,通过对CPU数据字典中的进程名进行筛选,可以绘制所筛选的单独进程名,或者多个进程名的CPU数据,为了便于查看,设置了鼠标联动,左键拖拽画布,滚轮缩放画布,以及鼠标悬停二次窗口,方便查看分析。
在本发明实施例中,Memory数据分析与CPU数据分析相同原理,Memory数据分析流程中,如同Memory数据实时监测模块中,对获取到Memory数据后的步骤类似,不同点在于Memory数据分析是从memory.txt文件中获取数据进行处理,只要有之前采集过的memory.txt文件,随时可以通过该文件进行Memory数据分析。在Memory数据分析模块中,通过从memory.txt文件中获取到数据信息,然后如同Memory数据信息监测分析原理,将Memory数据信息通过QT绘制成折线图。绘制的图标中为所有Memory进程,为了便于筛选查看,通过对Memory数据字典中的进程名进行筛选,可以绘制所筛选的单独进程名,或者多个进程名的Memory数据,为了便于查看,设置了鼠标联动,左键拖拽画布,滚轮缩放画布,以及鼠标悬停二次窗口,方便查看分析。
如图5所示,为本发明实施例得到的一种CPU原始数据分析图及鼠标悬浮提示窗口示意图。
如图6所示,为本发明实施例得到的一种Memory数据分析显示界面中筛选二次窗口。
需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于Android车机的CPU和Memory占用数据监测分析系统,其特征在于,包括:
各进程的CPU数据信息实时监测模块,用于基于Android调试桥adb命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的CPU占用数据信息,对所有获取到的CPU占用数据信息进行处理,生成CPU数据信息字典,存储得到CPU占用数据的txt文件,再通过python程序将CPU数据信息字典中的数据进行处理后实时显示到QT界面,形成实时监测变化的折线图,其中,CPU数据信息字典包括各个进程所处的时刻、进程名及该时刻的CPU占用率;
各进程的Memory数据信息实时监测模块,用于基于Android调试桥adb命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的Memory占用数据信息,对所有获取到的Memory占用数据信息进行处理,生成Memory数据信息字典,存储得到Memory占用数据的txt文件,再通过python程序将Memory数据信息字典中的数据进行处理后实时显示到QT界面,形成实时监测变化的折线图,其中,Memory数据信息字典包括各个进程所处的时刻、进程名及该时刻的Memory占用数据大小;
各进程的CPU占用率分析模块,用于获取CPU占用数据的txt文件,再通过python程序对CPU占用数据的txt文件中的数据信息进行分析处理,转换成以时间标志为key值,各进程名和CPU数据信息字典为value值的字典,从而生成CPU数据分析的折线图表;
各进程的Memory占存分析模块,用于获取Memory占用数据的txt文件,再通过python程序对Memory占用数据的txt文件中的数据信息进行分析处理,转换成以时间标志为key值,各进程名和Memory数据信息字典为value值的字典,从而生成Memory数据分析的折线图表。
2.根据权利要求1所述的系统,其特征在于,所述CPU数据信息实时监测模块包括CPU数据信息监测模块和CPU数据信息分析模块;
CPU数据信息监测模块,用于在获取到采集CPU数据信息指令后,python程序启动CPU数据采集线程自动调用adb shell dumpsys cpuinfo命令获取到各进程的CPU占用率数据,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的CPU数据信息字典,并设置时刻列表的buffer,对存储的CPU数据信息字典,根据最后一个时刻所获得的CPU占用率的数据排序,取前若干位作为实时观测数据,从而得到实时显示的动态CPU数据监测图;
CPU数据信息分析模块,用于在每次CPU数据采集中将CPU数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的CPU占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的CPU数据信息字典中的数据循环绘制各时刻的折线图。
3.根据权利要求1所述的系统,其特征在于,所述Memory数据信息实时监测模块包括Memory数据信息监测模块和Memory数据信息分析模块;
Memory数据信息监测模块,用于在获取到采集Memory数据信息指令后,python程序启动Memory数据采集线程自动调用adb shell dumpsys-t 60meminfo命令获取到各进程的Memory数据占用大小,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的Memory数据信息字典,并设置时刻列表的buffer,对存储的Memory数据信息字典,根据最后一个时刻所获得的Memory数据占用大小排序,取前若干位作为实时观测数据,从而得到实时显示的动态Memory数据监测图;
Memory数据信息分析模块,用于在每次Memory数据采集中将Memory数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的Memory占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的Memory数据信息字典中的数据循环绘制各时刻的折线图。
4.根据权利要求1或2所述的系统,其特征在于,所述CPU占用率分析模块,用于从CPU占用数据的txt文件中获取到CPU数据信息,将CPU数据信息通过QT绘制成CPU数据实时监测图或CPU数据分析折线图,其中,绘制的折线图中为所有CPU进程,通过对CPU数据字典中的进程名进行筛选,能够绘制所筛选的单独进程名,或者多个进程名的CPU数据,同时设置了鼠标联动、左键拖拽画布、滚轮缩放画布以及鼠标悬停二次窗口,方便查看分析。
5.根据权利要求1或3所述的系统,其特征在于,所述Memory占存分析模块,用于从Memory占用数据的txt文件中获取到Memory数据信息,将Memory数据信息通过QT绘制成Memory数据实时监测图或Memory数据分析折线图,其中,绘制的折线图中为所有Memory进程,通过对Memory数据字典中的进程名进行筛选,能够绘制所筛选的单独进程名,或者多个进程名的Memory数据,同时设置了鼠标联动、左键拖拽画布、滚轮缩放画布以及鼠标悬停二次窗口,方便查看分析。
6.一种基于Android车机的CPU和Memory占用数据监测分析方法,其特征在于,包括:
(1)基于Android调试桥adb命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的CPU占用数据信息,对所有获取到的CPU占用数据信息进行处理,生成CPU数据信息字典,存储得到CPU占用数据的txt文件,再通过python程序将CPU数据信息字典中的数据进行处理后实时显示到QT界面,形成实时监测变化的折线图,其中,CPU数据信息字典包括各个进程所处的时刻、进程名及该时刻的CPU占用率;
(2)基于Android调试桥adb命令行工具,再通过调用dumpsys工具来获取android设备中各个进程的Memory占用数据信息,对所有获取到的Memory占用数据信息进行处理,生成Memory数据信息字典,存储得到Memory占用数据的txt文件,再通过python程序将Memory数据信息字典中的数据进行处理后实时显示到QT界面,形成实时监测变化的折线图,其中,Memory数据信息字典包括各个进程所处的时刻、进程名及该时刻的Memory占用数据大小;
(3)获取CPU占用数据的txt文件,再通过python程序对CPU占用数据的txt文件中的数据信息进行分析处理,转换成以时间标志为key值,各进程名和CPU数据信息字典为value值的字典,从而生成CPU数据分析的折线图表;
(4)获取Memory占用数据的txt文件,再通过python程序对Memory占用数据的txt文件中的数据信息进行分析处理,转换成以时间标志为key值,各进程名和Memory数据信息字典为value值的字典,从而生成Memory数据分析的折线图表。
7.根据权利要求6所述的方法,其特征在于,步骤(1)包括:
(1.1)在获取到采集CPU数据信息指令后,python程序启动CPU数据采集线程自动调用adb shell dumpsys cpuinfo命令获取到各进程的CPU占用率数据,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的CPU数据信息字典,并设置时刻列表的buffer,对存储的CPU数据信息字典,根据最后一个时刻所获得的CPU占用率的数据排序,取前若干位作为实时观测数据,从而得到实时显示的动态CPU数据监测图;
(1.2)在每次CPU数据采集中将CPU数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的CPU占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的CPU数据信息字典中的数据循环绘制各时刻的折线图。
8.根据权利要求6所述的方法,其特征在于,步骤(2)包括:
(2.1)在获取到采集Memory数据信息指令后,python程序启动Memory数据采集线程自动调用adb shell dumpsys-t 60meminfo命令获取到各进程的Memory数据占用大小,再通过adb shell‘data+%Y%m%d%H%M%S’获取到时间数据,通过python数据处理生成各时刻的Memory数据信息字典,并设置时刻列表的buffer,对存储的Memory数据信息字典,根据最后一个时刻所获得的Memory数据占用大小排序,取前若干位作为实时观测数据,从而得到实时显示的动态Memory数据监测图;
(2.2)在每次Memory数据采集中将Memory数据信息字典中的时刻作为折线图中的x轴的坐标列表,每个时刻中的Memory占用率为y坐标列表,将各进程名放入进程名列表中,通过对所得的Memory数据信息字典中的数据循环绘制各时刻的折线图。
9.根据权利要求6或7所述的方法,其特征在于,步骤(3)包括:
从CPU占用数据的txt文件中获取到CPU数据信息,将CPU数据信息通过QT绘制成CPU数据实时监测图或CPU数据分析折线图,其中,绘制的折线图中为所有CPU进程,通过对CPU数据字典中的进程名进行筛选,能够绘制所筛选的单独进程名,或者多个进程名的CPU数据,同时设置了鼠标联动、左键拖拽画布、滚轮缩放画布以及鼠标悬停二次窗口,方便查看分析。
10.根据权利要求6或8所述的方法,其特征在于,步骤(4)包括:
从Memory占用数据的txt文件中获取到Memory数据信息,将Memory数据信息通过QT绘制成Memory数据实时监测图或Memory数据分析折线图,其中,绘制的折线图中为所有Memory进程,通过对Memory数据字典中的进程名进行筛选,能够绘制所筛选的单独进程名,或者多个进程名的Memory数据,同时设置了鼠标联动、左键拖拽画布、滚轮缩放画布以及鼠标悬停二次窗口,方便查看分析。
CN202210404762.2A 2022-04-18 2022-04-18 基于Android车机的CPU和Memory占用数据监测分析方法及系统 Pending CN114816743A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210404762.2A CN114816743A (zh) 2022-04-18 2022-04-18 基于Android车机的CPU和Memory占用数据监测分析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210404762.2A CN114816743A (zh) 2022-04-18 2022-04-18 基于Android车机的CPU和Memory占用数据监测分析方法及系统

Publications (1)

Publication Number Publication Date
CN114816743A true CN114816743A (zh) 2022-07-29

Family

ID=82537376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210404762.2A Pending CN114816743A (zh) 2022-04-18 2022-04-18 基于Android车机的CPU和Memory占用数据监测分析方法及系统

Country Status (1)

Country Link
CN (1) CN114816743A (zh)

Similar Documents

Publication Publication Date Title
US5819094A (en) Apparatus for log data collection and analysis
CN102591321B (zh) 监视控制系统
CN110362483A (zh) 性能数据采集方法、装置、设备及存储介质
WO2021073117A1 (zh) Oct 图像分割方法、装置、设备及存储介质
CN101673233B (zh) 测试项目的排程方法及其排程系统
CN112985867A (zh) 舵机测试方法、装置、设备及存储介质
CN114816743A (zh) 基于Android车机的CPU和Memory占用数据监测分析方法及系统
CN110334729B (zh) 检验仪器自动报警通知系统
US20050022170A1 (en) Visual debugging interface
US20170004191A1 (en) Information processing apparatus and information processing method
CN115568834A (zh) 数据处理方法及装置
JPH0695931A (ja) システム実行性能評価支援装置
CN113742213A (zh) 一种用于数据分析的方法、系统和介质
CN111338860A (zh) 一种内存监控方法、装置、设备及存储介质
CN113495844B (zh) 基于虚拟点击的自动化测试方法、装置、系统及存储介质
Molnar Live visualization of GUI application code coverage with GUITracer
CN110221686B (zh) 一种面向矿山资源管理的基于彩色图像的手势交互系统及方法
KR20200028201A (ko) 프로세스 마이닝 결과를 출력하는 방법 및 장치
CN112835756B (zh) 一种触摸屏测试方法、装置、计算机设备及存储介质
JPH0658716B2 (ja) 故障診断装置及び故障診断システム
CN109144798B (zh) 具有机器学习功能的智能管理系统
US20220083021A1 (en) Method and system for collecting machine data
US7020572B2 (en) Method for receiving and associating conditional dependent test results
CN111369135A (zh) 成像芯片动态性能分析系统及方法
CN114826985A (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