adb shell top命令详解

top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序.

 

 一、介绍

top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序.

常用命令:

1.查看top帮助

>adb shell top --h

>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). 按哪列排序
-t Show threads instead of processes. 显示线程信息而不是进程
-h Display this help screen. 显示帮助文档

 2.adb shell top

PS C:\Users\1O1A> adb shell top



User 14%, System 4%, IOW 0%, IRQ 1%
User 177 + Nice 0 + Sys 57 + Idle 981 + IOW 3 + IRQ 20 + SIRQ 2 = 1240

  PID PR CPU% S  #THR     VSS     RSS PCY UID      Name
  510  6   3% S    15 150028K   8556K  fg system   /system/bin/surfaceflinger
23044  4   2% S    95 1858988K  96344K  fg u0_a144  com.doctopia.zeroe:pushcore
 8596  5   2% S   130 1960692K 161764K  bg u0_a50   com.android.browser
 3576  7   1% S    34 1707992K 119240K  fg system   com.android.systemui
27335  4   1% R     1   6536K   1420K  fg shell    top

第一组数据的含义:

User  处于用户态的运行时间,不包含优先值为负进程 
Nice  优先值为负的进程所占用的CPU时间 
Sys   处于核心态的运行时间 
Idle  除IO等待时间以外的其它等待时间 
IOW   IO等待时间 
IRQ   硬中断时间 
SIRQ  软中断时间

第二组数据的含义:

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  进程的名称

 

二、监控CPU实战

1.描述:每隔 1s 输出一次APP CPU信息,命令如下:

$adb shell

$adb top -d 1 | grep com.doctopia.zeroe

返回如下图:

adb shell top命令详解

数据含义:

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  进程的名称

 


adb shell top命令详解

上一篇:sqli-labs第七题


下一篇:Oracle数据库学习(2)