TOP命令解释

top命令是Linux下最常用的性能分析工具,它能够实时显示系统中各个进程的资源占用状况。

top命令参数

-b   批处理模式(batch mode),可输出到管道、文件。默认情况下-b会一直输出,可以用-nN指定输出次数。
-n N限制输出次数。
-d N    刷新时间间隔。
-p PID  监控指定进程。
-H -p PID   监控指定进程和进行内线程信息。

执行top命令按键操作

c       显示完整的命令名。c为Command之意。
d       修改刷新时间。d为Display之意。
u       显示指定用户相关进程。u为User之意。
P       按CPU使用排序。P为Processor(处理器)之意。
M       按内存使用排序。M为Momery之意。
F       排序(进入新的界面,并选择排序的目标字段)。
R       顺序或逆序。
H       显示线程
Z       以多色彩显示top。
l/t/m   toggle,load/cpu/内存信息
1       显示多CPU的信息(多核机器上查看每个CPU的使用率)。
W       保存当前top的配置

top命令演示

$ top
top - 17:38:29 up 3 days, 45 min,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 116 total,   1 running, 115 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 98.9%id,  0.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   7956536k total,  7774476k used,   182060k free,   170028k buffers
Swap:  8093692k total,        0k used,  8093692k free,  6241820k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   11 root      20   0     0    0    0 S  2.0  0.0   2:55.94 events/0
    1 root      20   0 19232 1508 1216 S  0.0  0.0   0:00.72 init
  ...
  ... 篇幅太长,已删除
  ...

第 1 行 效果同直行uptime命令

- 解释
17:38:29 当前时间
up 3 days, 45 min 系统启动到当前的时间
2 users 当前登录用户数
load average: 0.00, 0.00, 0.00 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

第 2 行 进程

- 解释
116 total 进程总数
1 running 正在运行进程数
115 sleeping 休眠进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数

第 3 行 CPU

- 解释
0.1%us 用户占用CPU百分比
0.1%sy 内核占用CPU百分比
0.0%ni 用户进程改变过优先级的进程占用CPU百分比
98.9%id 空闲CPU百分比
0.8%wa 等待输入输出的CPU时间百分比
0.0%hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0%si 软中断(Software Interrupts)占用CPU的百分比
0.0%st 丢失时间占用CPU

第 4 行 内存

- 解释
7956536k total 物理内存总量
7774476k used 已使用内存总量
182060k free 空闲内存总量
170028k buffers 缓存的内存量

第 5 行 swap交换分区信息

- 解释
8093692k total 交换区总量
0k used 已使用交换区总量
8093692k free 空闲交换区总量
6241820k cached 缓冲的交换区总量

第 7 行 各进程状态监控

- 解释
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 进程名称(命令名/命令行)