首页 > 技术文章 > Android性能监控

TestWorld 2016-06-15 17:42 原文

Android性能监控

一、搭建Android性能测试环境,参见《Android性能测试之Monkey使用》中内容。

二、启动Android虚拟机,可以通过eclipse启动,也可以通过命令启动:

         1、通过android list avd命令查看已创建的虚拟机;

 

         2、通过命令emulator @name启动虚拟机;

 

三、内存采集

         1、通过dumpsys来取值,可以看到所有进程的内存信息,命令如下:

adb shell dumpsys meminfo

 

         2、查看详细的内存信息,命令如下:

adb shell  dumpsys  meminfo  $pakagename or $Pid

如:adb shell  dumpsys  meminfo 1019

 

         可以看到Native Heap和Dalvik Heap占用了Heap size列显示的大小,Dalvik Heap就是常说的堆内存,Dalvik Heap不能超过最大限制;超过单个程序内存的最大限制时,就可能出现OOM。

查看内存最大限制命令:

adb shell getprop|grep heapgrowthlimit

得到结果:

|[dalvik.vm.heapgrowthlimit]: [96m]       单个程序内存最大限制为96M。

 

         3、使用/system/xbin/procrank来查看内存信息,命令如下:

adb shell procrank

 

VSS – Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS – Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS – Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS – Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

USS 是针对某个进程开始有可疑内存泄露的情况, 是一个程序启动了会产生的虚拟内存,一旦这个程序进程杀掉就会释放!

 

四、CPU监控

1、查看前5个进程cpu使用情况

adb shell top -m 5 -s cpu

 

可查看占用cpu最高的前5个进程(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)

 

2、CPU数据采集

adb shell dumpsys cpuinfo

 

CPU占用率为60%,其中用户(user)占用45%,内核占用15%。

如果想筛选指定的应用,使用下面命令:

adb shell dumpsys cpuinfo |grep $packagename 

 

五、流量监控

1、查找被测应用PID

adb shell ps

 

找到被测应用com.gewara的PID为1970;

使用命令:adb shell cat /proc/$Pid/net/dev查看流量信息;

如:adb shell cat /proc/1970/net/dev

 

可以看到发送字节数,如果是联机测试,会显示wlan0列,表示WiFi上传下载标识,上传下载量单位是字节,打开/关闭手机飞行模式,可以初始化wlan0数据。

 

电量采集命令:

adb shell dumpsys battery

 

注:如果不能使用grep命令,下载安装Cygwin工具。

推荐阅读