如何在电脑上监控安卓手机应用程序运行的CPU、内存等资源情况,并做成曲线图

bzdmz 2021-10-27 原文


如何在电脑上监控安卓手机应用程序运行的CPU、内存等资源情况,并做成曲线图

  做测试工程师十多年,手机测试接触太少,请叫我小白吧。当我们拿到一个趋于成熟的安卓应用程序APP,老板发话了:帮我监控下这个APP的运行情况,我要知道这个APP短时间内执行某些操作,在手机上的内存、CPU占比情况,并做成曲线图。平常我们抱着手机玩的时候,有哪位朋友会一直关注自己手机APP的性能呢,答案就是:老板。带着这个问题,小白的我也是摸摸头脑,想想办法吧。

试过了几种不同的方法:

1、直接在手机上安装**监控应用,但效果不理想,果断放弃;

2、在电脑上安装了DDMS(Dalvik Debug Monitor Service),并成功连接手机,打开应用,终于看到连接进来了,有点小开心

 

选择相应的应用,然后点击Cause GC之后就可以看到我们应用的内存情况,如下图:

 

虽然看到了内存的使用情况,但是没办法时时自动变化,形成曲线图,而且也没有显示CPU占比,好吧,只能再次放弃了。

3、继续寻找其他的办法,就想到了使用adb shell,最终成功解决了,以下详细介绍如何使用。

一、电脑要先安装adb环境

安装过程详见我以往写的博客https://www.cnblogs.com/bzdmz/p/10358152.html

确保adb命令可以正常使用。

二、打开APP进行监控

1、打开电脑运行cmd,打开运行窗口

2、进入shell脚本模式

D:\android>adb shell

3、打开APP,并在步骤2的窗口运行以下命令

PD1616B:/ $ top -d 1 |grep com.test.cc > /sdcard/test_01.log

-d 1:代表每1秒取一次数据

com.test.cc 为应用程序的包名,即只监控这个应用程序

也可以PD1616B:/ $ top -d 1 -p 8398> /sdcard/test_01.log

 -p 8398:即这个APP的进程号,不管你用哪种方法,只要确认监控的包没错即可。

 > /sdcard/test_01.log:将结果输入到/sdcard/路径下的test_01.log文件里

4、结束抓包,直接用ctrl + c

5、退出shell模式

PD1616B:/ $ exit

6、回到命令窗口,将文件导出到电脑

D:\android>adb pull /sdcard/test_01.log

[100%] /sdcard/test_01.log

7、在excel打开,并对数据进行过滤,再做成图表

 

注意这里使用分隔符号

 

 

第二步使用空格隔开

 

 

第三步,可根据需要,把一些不需要的列,跳过即可

导进来的数据很乱,可进行整改,最后可调成为如下:

 

 

最后再将CPU和MEM做成图表的形势:

选中列数据,然后插入图表,搞定。

 

 

 

8、如果觉得第7步操作太麻烦,而且很浪费时间,可以使用以下方法做成图表:

1)将文件上传到linux机器上

2)使用命令将CPU和内存数值读取出来,然后再放到excel,做成曲线图,完美,是不是感觉有点火箭般的速度了,

当然小白也是吃过苦的,因为前面第7步,要做表格的整理,实在太慢了,所以想到这个方法。

获取内存%值:

cat test_01.log   |grep \’8398\’ |awk \'{print $10}\’

 

获取CPU%值:

cat test_01.log   |grep \’8398\’ |awk \'{print $9}\’

 整个过程就是这么的辛酸,所以总结了一下,然后对大家有所帮助,如有高手还有其他更快捷的方法,欢迎留言赐教!

备注:此博客为本人原创,如有转载请注明出处。

 

发表于
2020-02-22 15:38 
不知道名字 
阅读(1040
评论(0
编辑 
收藏 
举报

 

版权声明:本文为bzdmz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bzdmz/archive/2004/01/13/12345295.html

如何在电脑上监控安卓手机应用程序运行的CPU、内存等资源情况,并做成曲线图的更多相关文章

随机推荐

  1. MySQL关于命令的问题、Exists关键字

    truncate 与 delete 的区别 truncate table :删除内容、不删除定义、释放空间。 […]...

  2. 论文笔记:目标检测算法(R-CNN,Fast R-CNN,Faster R-CNN,FPN,YOLOv1-v3)

    介绍几个经典的目标检测算法,R-CNN系列(FPN),YOLOv1-v3 R-CNN(Region-based […]...

  3. 云服务器搭建代理服务器 —— 某sock ,简单说明

    前情提要:因为公司q了部分网站和QQ,所以用闲置服务器搭个代理玩玩。   前提条件 需要一台云服务器。我的是 […]...

  4. 使用Aspose.Words把 word转成图片

    Aspose.Words 直接上代码 Document doc = new Document("f:\\333 […]...

  5. 肚娘 for IE v1.0 妈妈再也不用担心百度链接失效了 ([XBOX360] [街机模拟器中文版FBAnext v0.2.97.27.(含2241款游戏)][8GB])

    来源:https://game.ali213.net/thread-5465798-1-1.html 目前需要 […]...

  6. Notepad++快捷键及使用技巧

    常用快捷键: CTRL+Q 注释/取消注释 用Notepad++写代码,要是有一些重复的代码想copy一下,还 […]...

  7. 机器学习面试题

    题目一 题目二 题目三 题目四 题目五 题目六 题目七 题目八 题目九 题目十  题目十一 题目十二 题目十三 […]...

  8. QQ群营销:无需软件群发图文广告链接技巧

    qq群营销是许多营销推广高手乐此不疲的。相信很多人都会在QQ群里发网址进行引流,但并不是所有的广告都能达到预期 […]...

展开目录

目录导航