TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
统计信息区,前五行是系统整体的统计信息。
第一行是 运行(UP)信息。同 uptime 命令的执行结果。
11:17:12, 当前时间,格式为“时:分:秒”
up 1 day, 18:20, 系统运行时间,格式为“日,时:分”
1 user, 当前登录用户数
load average: 0.06, 0.60, 0.48, 系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二行是 任务(TASK)信息。
158 total, 进程总数
2 running, 正在运行的进程数
156 sleeping, 睡眠的进程数
0 stopped, 停止的进程数
0 zombie, 僵尸进程数
第三行是 处理器(CPU)信息。
23.2%us, 用户空间(user mode)占用CPU百分比
3.4%sy, 内核空间(system mode)占用CPU百分比
0.0%ni, 用户进程空间内改变过优先级的进程(nice)占用CPU百分比
70.1%id, 空闲任务(idle task)占用CPU百分比
2.6%wa, 等待输入输出(I/O waiting)占用CPU百分比
0.0%hi, 中断服务(servicing IRQs)占用CPU百分比
0.7%si, 软中断服务(servicing soft IRQs)占用CPU百分比
0.0%st, steal (time given to other DomU instances)
第四行是 内存(MEM)信息。
Mem: 16282708k total, 6466856k used, 9815852k free, 93340k buffers
Swap: 8208376k total, 0k used, 8208376k free, 4865588k cached
16282708k total, 内存总量
6466856k used, 已用量
9815852k free, 空闲量
93340k buffers, 用作缓存的量
Swap: 192772k total 交换区总量
第五行是交换区(SWAP)信息。
8208376k total, 交换区总量
0k used, 已用量
8208376k free, 空闲量
4865588k cached, 用作缓存的量
进程信息区,统计信息区域的下方显示了各个进程的详细信息。
//列名 缩写 英文全文与中文含义默认情况下仅显示比较重要的列。可用以下的交互命令,显示其他列,或排序等。
* A: PID = Process Id//进程ID
b: PPID = Parent Process Pid//父进程ID
c: RUSER = Real user name//真实用户名
d: UID = User Id//用户ID
* E: USER = User Name//用户名
f: GROUP = Group Name//组名
g: TTY = Controlling Tty//启动进程的终端名;不是从终端启动的进程则显示为 ?
* H: PR = Priority//优先级
* I: NI = Nice value//Nice值;负值表示高优先级,正值表示低优先级
j: P = Last used cpu (SMP)//最后使用的CPU;仅在多CPU环境下有意义
* K: %CPU = CPU usage//CPU使用率;上次更新到现在的CPU时间占用百分比
l: TIME = CPU Time//CPU使用时间;进程使用的CPU时间总计,单位秒
* M: TIME+ = CPU Time, hundredths//CPU使用时间;同上,单位1/100秒
* N: %MEM = Memory usage (RES)//内存使用率;进程使用的物理内存百分比
o: VIRT = Virtual Image (kb)//虚拟内存量;进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p: SWAP = Swapped size (kb)//交换内存大小;进程使用的虚拟内存中,被换出的大小,单位kb。
* Q: RES = Resident size (kb)//驻留内存大小;进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r: CODE = Code size (kb)//代码大小;可执行代码占用的物理内存大小,单位kb
s: DATA = Data+Stack size (kb)//数据大小;可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
* T: SHR = Shared Mem size (kb)//共享内存大小;共享内存大小,单位kb
u: nFLT = Page Fault count//页面错误次数;
v: nDRT = Dirty Pages count//脏页面数;最后一次写入到现在,被修改过的页面数。
* W: S = Process Status//进程状态(D=不可中断的睡眠状态;R=运行;S=睡眠;T=跟踪/停止;Z=僵尸进程)
* X: COMMAND = Command name/line//命令名/命令行
y: WCHAN = Sleeping in Function//若该进程在睡眠,则显示睡眠中的系统函数名
z: Flags = Task Flags <sched.h>//任务标志,参考 sched.h
f or F,添加或隐藏列(Field)的显示。
o or O,改变列的顺序(Order)。
l,显示或隐藏负载(Load)信息。
m,显示或隐藏内存(Memory)信息。
t,显示或隐藏任务(Task)信息。
c,显示或隐藏命令(Commond)全部信息。
N,按照PID数值(Numerically)排序。
A,按照生命期(Age)排序。
P,按照CPU使用率排序。
M ,按照驻留内存(Memory)使用率排序。
T,按照时间(Time)排序。
R,排序倒转(Reverse)。
k,杀(Kill)进程。
q,退出(Quit)。
h,帮助(Help)。