top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
统计信息区
前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
07:08:11 当前时间
up 9 min 系统运行时间
3 users 当前登录的用户数
load average: 0.01, 0.27, 0.27 代表系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 235 total 进程总数
1 running 正在运行的进程数
234 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s): 0.2% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
99.6% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
最后两行为内存信息。内容如下:
KiB Mem: 995704 total 物理内存总量
70384 free 空闲内存总量
781892 used 使用的物理内存总量
143428 buff/cache 用作内核缓存的内存量
kiB Swap: 2097148 total 交换区总量
1912828 free 空闲交换区总量
184320 used 使用的交换区总量
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
PID 进程ID
USER 进程所有者的用户名
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SHR 共享内存大小,单位kb
S 进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 命令名/命令行
参数说明:
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
其他:
在top基本视图中,按键盘数字“1”可以监控每个逻辑CPU的状况
敲击键盘‘b’(打开关闭加亮效果)top视图变换如下
敲击键盘‘y’来打开或者关闭运行态进程的加亮效果
敲击键盘‘x’(打开/关闭排序列的加亮效果)
在top基本视图中,敲击‘f’进入另一个视图,在这里可以编辑基本视图中的显示字段
监控每个逻辑CPU的状况:top ,按1
高亮显示当前运行进程:top ,按 b
显示 完整命令:top ,按 c
切换显示CPU:top,按t
按CPU使用率从大到小排序:top,按P
切换显示Memory:top,按m
按Memory占用率从大到小排序:top,按M
按累计运行时间Time从大到小排序:top,按T
高亮CPU列:top,按x
彩色高亮显示:top,按ztop,按shift+z 可以调配色方案
忽略闲置和僵死进程,这是一个开关式命令:top,按i
杀掉进程:top,按k,输入PID
改变内存的显示单位,默认为KB:top,按e (针对列表)top,按E(针对头部统计信息)
退出top程序:按 q