top是 Linux 中常用的分析工具之一,它以实时方式展示 CPU、内存及进程状态。虽然界面看似简单,但其中包含的指标信息非常丰富。本文结合实际运行截图,对 top 的数据指标进行解析,以及补充说明常用的交互按键。

如图所示为top命令输出内容,上半部分为系统级信息,下半部分为进程级信息。
1.系统信息解析图中前五行是对整个系统资源的简单汇总,具体含义如下:
(1)系统信息和平均负载top - 10:03:40 up 30 days, 23:31, 1 user, load average: 0.00, 0.01, 0.00
10:03:40:当前时间
up 30 days,23:31:系统已运行时间
1 user:登录系统的用户数
load average:1 / 5 / 15 分钟的系统平均负载,代表了正在运行、等待 CPU、以及等待 IO 的任务数量的平均值(Running + Runnable+ D),用来反映系统整体的排队压力
(2)任务统计任务: 332 total, 1 running, 251 sleeping, 0 stopped, 0 zombie
running:正在运行(R 状态,Running + Runnable)
sleeping:可中断睡眠(S 状态,大部分进程处于此状态,不可中断睡眠D不在此统计)
stopped:被暂停进程(T状态)
zombie:僵尸进程(Z状态,父进程未回收资源)
(3)CPU 使用情况%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
us:用户态使用(应用程序)
sy:系统态使用(内核)
ni:具有nice 值(非零)的进程消耗的 CPU 时间占比
id:空闲
wa:磁盘或网络I/O等待
hi/si:硬件/软件中断
st:虚拟机资源被宿主机抢占用于其他任务
(4)内存使用情况KiB Mem: 8117340 total, 363508 free, 2049492 used, 5704340 buff/cache
total:总内存
free:空闲内存
used:被使用内存
buff/cache:缓存与页缓存,用于提升磁盘 I/O 性能,可回收
(5)Swap 交换区KiB Swap: 2097148 total, 2043900 free, 53248 used, 5747120 avail Mem
total:Swap 总大小
free:未使用的 Swap 空间
used:已使用的 swap,过高可能表示内存不足
avail Mem:实际可用内存量(新内存模型),比 free 更准确,用于判断系统是否真正存在内存压力
2.进程列表字段解析3.top 的常用交互按键(1)在进入启动top界面时可以携带部分参数:
top -d [秒数]
设定top启动后刷新时间
top -n [次数]
设定top运行次数,刷新n次后自动退出
top -p [PID]
只监视指定的进程
top -c
以展开COMMAND的状态进入top,便于分析具体进程命令
(2)在top交互界面中常用命令:
P:按照 CPU 使用进行排序
M:按内存占用排序
e:切换显示单位,默认KB

c:切换显示完整命令行
1:显示每个 CPU 的独立使用情况

k:杀死进程,输入PID可以快速杀死指定进程

u:仅显示某个用户的进程
d:调整刷新周期,默认为3s

ESC:退出top
H:显示帮助信息,查看更详细的命令使用
