# Linux 中 top 命令的使用
# 简介
top 命令是 Linux 中常用的性能分析工具,能够实时显示系统中各进程的资源占用状况,类似于 Windows 的任务管理器,显示系统当前的进程和其他状况
top 是一个动态显示过程,即可以通过用户案件来不断刷新当前状态,如果在前台执行该命令,它将一直占用前台,知道用户终结该程序为止
# 使用方法
# 使用格式
top [-] [选项 ]
# 参数说明
- b:以批处理模式操作;
- c:显示完整的治命令;
- d:屏幕刷新间隔时间;
- I:忽略失效过程;
- s:保密模式;
- S:累积模式;
- i <时间>:设置间隔时间;
- u <用户名>:指定用户名;
- p <进程号>:指定进程;
- n <次数>:循环显示的次数。
# 交互命令
- h:显示帮助画面,给出一些简短的命令总结说明;
- k:终止一个进程;
- i:忽略闲置和僵死进程,这是一个开关式命令;
- q:退出程序;
- r:重新安排一个进程的优先级别;
- S:切换到累计模式;
- s:改变两次刷新之间的延迟时间(单位为 s),如果有小数,就换算成 ms。输入 0 值则系 - 统将不断刷新,默认值是 5s;
- f 或者 F:从当前显示中添加或者删除项目;
- o 或者 O:改变显示项目的顺序;
- l:切换显示平均负载和启动时间信息;
- m:切换显示内存信息;
- t:切换显示进程和 CPU 状态信息;
- c:切换显示命令名称和完整命令行;
- M:根据驻留内存大小进行排序;
- P:根据 CPU 使用百分比大小进行排序;
- T:根据时间 / 累计时间进行排序;
- w:将当前设置写入~/.toprc 文件中。
# 进程区信息
序号 列名 含义
a PID 进程 id
b PPID 父进程 id
c RUSER Real user name
d UID 进程所有者的用户 id
e USER 进程所有者的用户名
f GROUP 进程所有者的组名
g TTY 启动进程的终端名。不是从终端启动的进程则显示为?
h PR 优先级
i NI nice 值。负值表示高优先级,正值表示低优先级
j P 最后使用的 CPU,仅在多 CPU 环境下有意义
k % CPU 上次更新到现在的 CPU 时间占用百分比
l TIME 进程使用的 CPU 时间总计,单位秒
m TIME+ 进程使用的 CPU 时间总计,单位 1/100 秒
n % MEM 进程使用的物理内存百分比
o VIRT 进程使用的虚拟内存总量,单位 kb。VIRT=SWAP+RES
p SWAP 进程使用的虚拟内存中,被换出的大小,单位 kb。
q RES 进程使用的、未被换出的物理内存大小,单位 kb。RES=CODE+DATA
r CODE 可执行代码占用的物理内存大小,单位 kb
s DATA 可执行代码以外的部分 (数据段 + 栈) 占用的物理内存大小,单位 kb
t SHR 共享内存大小,单位 kb
u nFLT 页面错误次数
v nDRT 最后一次写入到现在,被修改过的页面数。
w S 进程状态。
D = 不可中断的睡眠状态
R = 运行
S = 睡眠
T = 跟踪 / 停止
Z = 僵尸进程
x COMMAND 命令名 / 命令行
y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
z Flags 任务标志,参考 sched.h
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、% CPU、% MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
更改显示内容
通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。
按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。