,文章

adb shell top 命令的简单使用

文章目录

前言

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

adb shell top 的简介

top 可以带参数等,具体下面详细简介

top 用法

使用adb shell top --help查询top的用法

C:\Users\walter>adb shell top --help
usage: top [-Hbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,]

Show process activity in real time.

-H      Show threads
-k      Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID)
-o      Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE)
-O      Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default)
-s      Sort by field number (1-X, default 9)
-b      Batch mode (no tty)
-d      Delay SECONDS between each cycle (default 3) (显示刷新间隔时间 ,这里默认是3秒)
-m      Maximum number of tasks to show (最多显示进程数)
-n      Exit after NUMBER iterations (设置刷新的次数,刷新完后就停止)
-p      Show these PIDs (只显示某个进程ID的)
-u      Show these USERs (只显示某个拥有者的)
-q      Quiet (no header lines) (退出)

Cursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force
update, R to reverse sort, Q to exit.

top 打印参数解析

adb shell top -m 10 -n 1 

显示的信息如下:

Tasks: 158 total,   1 running, 157 sleeping,   0 stopped,   0 zombie
  Mem:      1.9G total,      1.6G used,      326M free,       18M buffers
 Swap:      1.4G total,         0 used,      1.4G free,      825M cached
200%cpu   0%user   0%nice   7%sys 193%idle   0%iow   0%irq   0%sirq   0%host
  PID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ ARGS
 6641 shell        20   0  12M 2.9M 2.5M R 14.8   0.1   0:00.03 top -m 10 -n 1
 2166 u0_a105      20   0 1.9G 162M  89M S  3.7   8.1   2:31.82 com.android.sys+
 1777 system       -2  -8 147M  30M 7.8M S  3.7   1.5   3:58.30 surfaceflinger
 6588 root         20   0    0    0    0 I  0.0   0.0   0:00.00 [kworker/1:1]
 6548 u0_a101      20   0 1.7G  66M  45M S  0.0   3.3   0:00.11 com.google.andr+
 6492 root         20   0    0    0    0 I  0.0   0.0   0:00.02 [kworker/u4:2]
 6423 root         20   0    0    0    0 I  0.0   0.0   0:00.10 [kworker/0:2]
 6254 root         20   0    0    0    0 I  0.0   0.0   0:00.09 [kworker/u4:1]
 6220 root         20   0    0    0    0 I  0.0   0.0   0:00.06 [kworker/1:2]
 6147 root         20   0    0    0    0 I  0.0   0.0   0:00.14 [kworker/0:1]
参数解释

下面依次解释一下参数的意义。

第1行
Tasks: 158 total,   1 running, 157 sleeping,   0 stopped,   0 zombie

显示的内容依次“所有启动的进程数”、“正在运行的进程数”、“挂起的进程数”、“停止的进程数”、“僵尸进程数”。

第二行
Mem:      1.9G total,      1.6G used,      326M free,       18M buffers

显示内容依次为“物理内存总量”、“已使用的物理内存”、“空闲物理内存”、“内核缓存内存量”。

第三行
Swap:      1.4G total,         0 used,      1.4G free,      825M cached

显示内容依次为“交换区总量”、“已使用交互区总量”、“空闲交换区总量”、“缓冲的交换区总量”。

第四行
200%cpu   0%user   0%nice   7%sys 193%idle   0%iow   0%irq   0%sirq   0%host

显示的内容依次为“用户空间占用CPU百分比”、“内核空间占用CPU百分比”、“用户空间内改变过优先级的进程占用CPU百分比”、“空闲CPU百分比”、“等待输入输出CPU时间百分比”、“CPU服务于硬件中断所耗费的时间总额”、“CPU服务软中断所耗费的时间总额”、“Steal Time”

第五行
PID     进程id
USER    用户拥有者
PR      优先级
NI      nice值,负值表示高优先级,正值表示低优先级
RES     进程使用的,未被换出的物理内存大小,单位KB
SHR     共享内存大,单位KB
S       进程状态。(D=不可中断的睡眠状态, R=运行, S=睡眠, T=跟踪/停止, Z=僵尸进程)
%CPU    当前瞬时CPU占用率
%MEM    进程使用的物理内存百分百
TIME+   进程使用的CPU时间总计,单位1/100秒
ARGS    进程信息

参考文章

  1. adb shell top
  2. android调试之top指令查看系统资源
  3. linux中top命令下显示出的PR\NI\RES\SHR\S%MEM TIME+都代表什么
发表评论