1. adb shell 下ps 命令:
# ps
ps
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 276 188 c0099f1c 000086e8 S /init
root 2 0 0 0 c004df64 00000000 S kthreadd
root 3 2 0 0 c003fa28 00000000 S ksoftirqd/0
root 4 2 0 0 c004abc0 00000000 S events/0
root 5 2 0 0 c004abc0 00000000 S khelper
root 6 2 0 0 c004abc0 00000000 S suspend
root 7 2 0 0 c004abc0 00000000 S kblockd/0
root 8 2 0 0 c004abc0 00000000 S cqueue
root 9 2 0 0 c01780d0 00000000 S kseriod
root 10 2 0 0 c004abc0 00000000 S kmmcd
root 11 2 0 0 c006efa8 00000000 S pdflush
root 12 2 0 0 c006efa8 00000000 S pdflush
root 13 2 0 0 c0073480 00000000 S kswapd0
root 14 2 0 0 c004abc0 00000000 S aio/0
root 22 2 0 0 c0175900 00000000 S mtdblockdc
USER PID PPID VSIZE RSS WCHAN PC NAME
那么这些项各代表着什么意思呢?
- USER: 进程的当前用户;
- PID : 毫无疑问, process ID的缩写,也就进程号;
- PPID :process parent ID,父进程ID
- VSIZE : virtual size,进程虚拟地址空间大小;
- RSS : 进程正在使用的物理内存的大小;
- WCHAN :进程如果处于休眠状态的话,在内核中的地址;
- PC : program counter,
- NAME: process name,进程的名称
和Linux ps命令对比
Android的内核还是Linux的,我们可以和Linux下ps aux命令的各项参数进行对比,可见:
root@long-desktop:~# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 2804 1684 ? Ss 21:11 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 21:11 0:00 [kthreadd]
root 2286 0.0 0.4 8888 3172 ? Ss 21:52 0:00 sshd: root@pts/0
root 2352 0.0 0.2 4684 2048 pts/0 Ss+ 21:52 0:00 -bash
root 2454 0.4 0.4 8888 3164 ? Rs 22:06 0:00 sshd: root@pts/1
root 2518 0.1 0.2 4684 2004 pts/1 Ss 22:06 0:00 -bash
root 2551 0.0 0.1 2736 1088 pts/1 R+ 22:06 0:00 ps aux
在Linux下ps命令各项含义如下所示:
- %CPU 进程的cpu占用率
- %MEM 进程的内存占用率
- VSZ 进程所使用的虚存的大小
- RSS 进程使用的驻留集大小或者是实际内存的大小
- TTY 与进程关联的终端(tty)
- STAT 检查的状态:进程状态使用字符表示的,如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不可中断的睡眠,通常是I/O)、P(等待交换页)、W(换出,表示当前页面不在内存)、N(低优先级任务)T(terminate终 止)、W has no resident pages
- START (进程启动时间和日期)
- TIME ;(进程使用的总cpu时间)
- COMMAND (正在执行的命令行命令)
- NI (nice)优先级
- PRI 进程优先级编号
- PPID 父进程的进程ID(parent process id)
- SID 会话ID(session id)
- WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
- FLAGS 与进程相关的数字标识