adb shell top 最全解析图
我们在测试安卓应用过程中,对于使用top方法来抓取应用占用的CPU并不陌生,但是对于top的整个解析可能有点不熟悉;今天我们就来归纳总结top的最全解析图。
一、top -h 的参数
C:\Users\Administrator>adb shell top -h
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]
-m num Maximum number of processes to display.——最多显示多少个进程
-n num Updates to show before exiting.——刷新次数
-d num Seconds to wait between updates.——刷新间隔时间(默认5秒)
-s col Column to sort by (cpu,vss,rss,thr).——按哪列排序
-H Show threads instead of processes.——显示线程信息而不是进程
-h Display this help screen.——显示帮助文档
二、实例
1、adb shell top -m 5
2、解析
(1)语法表示打印出5个进程数,以及相关进程运行所消耗的CPU值百分比。
(2)第一栏相关参数解释:
①、User 处于用户态的运行时间,不包含优先值为负进程
②、Nice 优先值为负的进程所占用的CPU时间
③、Sys 处于核心态的运行时间
④、Idle 除IO等待时间以外的其它等待时间
⑤、IOW IO等待时间
⑥、IRQ 硬中断时间
⑦、SIRQ 软中断时间PID 进程id
(3)第二栏相关参数解释:
①、PID 进程id
②、PR 优先级
③、CPU% 当前瞬时CPU占用率
④、S 进程状态:D=不可中断的睡眠状态, R=运行, S=睡眠, T=跟踪/停止, Z=僵尸进程
⑤、#THR 程序当前所用的线程数
⑥、VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
⑦、RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)
⑧、PCY 调度策略优先级,
SP_BACKGROUND/SP_FOREGROUND
⑨、UID 进程所有者的用户id
⑩、Name 进程的名称
三、命令使用方法的拓展
1、adb shell top -m 5——只打印5个进程数
2、adb shell top -n 3——打印3次就停止
3、adb shell top -d 4 ——4秒刷新1次(如果不写数字,默认是5秒刷新1次)
4、adb shell top -m 5 -n 10 -d 4 ——间隔4秒打印5个进程数,只打印10次
5、adb shell top -m 5 -s cpu ——按CPU占用率的大小排序
6、adb shell top -m 5 -s vss——按虚拟内存的大小排序
7、adb shell top -m 5 -s rss——按物理内存的大小排序
8、adb shell top -m 5 -s thr——按线程数大小排序
四、打印出来的数据保存到本地
adb shell top -m 5 -d 3 -n 10 > d:\cpu.txt 表示打印的5个进程,间隔3秒打印1次,一共打印10次的数据;保存到本地D盘的cpu.txt文件中。
五、指定打印某个应用的CPU数据
1、监测一次多媒体服务的CPU占用情况:adb shell top -n 1 | findstr audioserver
2、3秒刷新一次多媒体服务显示CPU占用情况:adb shell top -d 3 | findstr audioserver
3、实时监测多媒体服务的CPU占用情况:adb shell top | findstr audioserver
4、打印多媒体服务的CPU,间隔3秒打印1次,打印10次后自动停止
adb shell top -d 3 -n 10 | findstr audioserver
以上就是top信息的全面解析,大家可以多多练习哦。