Android的top命令

一:命令解析/ # 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.
-s col Column to sort by (cpu,vss,rss,thr).
-t Show threads instead of processes.
-h Display this help screen.

-m: 显示的最多进程数,做优化时一般只关心CPU占用率最高的几个进程,那么只需要top -m 3或top -m 5就好了,以免top命令的输出太多

-n:显示n次top的结果后命令就会退出

-d:更新的时间间隔,默认是每隔3s更新下状态,top -d 0时会持续地输出,不过很占CPU。

-s:选择根据某项(cpu,vss,rss,thr)来排序

-t: 显示线程而非进程

-h:显示帮助信息

二:事例说明:

User 36%, System 8%, IOW 0%, IRQ 0%
User 447 + Nice 0 + Sys 99 + Idle 662 + IOW 0 + IRQ 0 + SIRQ 12 = 1220

PID PR CPU% S #THR VSS RSS PCY UID Name
1455 2 40% S 28 253560K 87040K fg root /system/bin/mediaserver
1809 0 0% S 5 5852K 108K root /system/bin/libpcapcmcc.so
2587 1 0% S 1 1904K 1496K fg system logcat

第一组数据的含义:

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 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
PCY 调度策略优先级,SP_BACKGROUND/SP_FOREGROUND
UID 进程所有者的用户id
Name 进程的名称

一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

你可能感兴趣的:(Android的top命令)