adb shell top 命令详解

一.使用adb shell 命令:

adb shell top -m 10 -s 9

adb shell top 命令详解_第1张图片

二.解释

Tasks: 552 total,   1 running, 510 sleeping,   0 stopped,   0 zombie  
任务(进程) 系统现在共有552个进程,其中处于运行中的有1个,510个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

Mem:   5849960k total,  4014628k used,  1835332k free,     5756k buffers    
内存状态: 物理内存总量 (5.6G)  使用中的内存总量  空闲内存总量 缓存的内存量
1TB=1024GB ,1GB=1024MB ,1MB=1024KB ,1KB=1024字节。

Swap:  2293756k total,  1039804k used,  1253952k free,   918600k cached  
swap交换分区: 交换区总量  使用的交换区总量  空闲交换区总量  缓冲的交换区总量

如果出于习惯去计算可用内存数,这里有个近似的计算公式:
Mem的free + Mem的buffers + Swap的cached
按这个公式此台服务器的可用内存:1835332k + 5756k + 918600k = 2759688k(约2.6G)

800%cpu  13%user   0%nice  31%sys 756%idle   0%iow   0%irq   0%sirq   0%host    
cpu状态  
800%cpu -- CPU总量
13%user -- 用户空间占用CPU的百分比。
0%nice -- 改变过优先级的进程占用CPU的百分比
31%sys -- 内核空间占用CPU的百分比
756%idle -- 空闲CPU百分比
0%iow  --  IO等待占用CPU的百分比
0%irq -- 硬中断(Hardware IRQ)占用CPU的百分比
0%sirq --  软中断(Software Interrupts)占用CPU的百分比
0%host -- 

[7m  

PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

三.注意:

如果使用adb shell top -m 10 -s cpu会报下面错误: top: not integer: cpu

想到adb top --help命令

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)
-m      Maximum number of tasks to show
-n      Exit after NUMBER iterations
-p      Show these PIDs
-u      Show these USERs
-q      Quiet (no header lines)

可见,我的adb shell top -s命令只支持0-X数字,默认9,猜测分别指代

0  ,1   ,3 ,4 ,5   ,6  ,7  ,8,9   ,10  ,11   ,12
PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE

其中,9刚好代表的是cpu

 

你可能感兴趣的:(调试工具与技巧,android,java,开发工具)