Linux top 命令详解(结合截图逐行拆解)
top 是 Linux 系统最核心的实时系统监控工具,可以动态查看进程状态、CPU / 内存 / 负载等资源使用情况,相当于系统的 "任务管理器"。下面结合你提供的截图,逐行、逐字段完整解释。

一、顶部汇总区(系统整体状态)
1. 第一行:系统运行时间、负载
plaintext
plaintext
top - 20:36:40 up 4:51, 1 user, load average: 0.03, 0.01, 0.00
| 字段 | 含义 | 截图解读 |
|---|---|---|
20:36:40 |
当前系统时间 | 晚上 8 点 36 分 40 秒 |
up 4:51 |
系统已连续运行时长 | 运行了 4 小时 51 分钟 |
1 user |
当前登录用户数 | 1 个用户在线 |
load average: 0.03, 0.01, 0.00 |
系统负载(1 分钟、5 分钟、15 分钟平均值) | 负载极低,系统几乎空闲 (负载值≈CPU 核心数为正常,远小于则空闲,远大于则拥堵) |
2. 第二行:任务(进程)状态
plaintext
plaintext
Tasks: 41 total, 1 running, 40 sleeping, 0 stopped, 0 zombie
| 字段 | 含义 | 截图解读 |
|---|---|---|
41 total |
总进程数 | 共 41 个进程 |
1 running |
正在运行的进程数 | 1 个(就是top命令自身) |
40 sleeping |
睡眠(等待事件)的进程数 | 40 个后台进程 |
0 stopped |
停止的进程数 | 0 个 |
0 zombie |
僵尸进程数 | 0 个(正常,僵尸进程需关注) |
3. 第三行:CPU 整体使用情况
plaintext
plaintext
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
多核 CPU 下按
1可展开每个核心的详细占用。
| 字段 | 全称 | 含义 | 截图解读 |
|---|---|---|---|
us |
user | 用户态 CPU 占用(应用程序、Java 等) | 0.0%(几乎无用户程序占用) |
sy |
system | 内核态 CPU 占用(系统调用、内核线程) | 0.2%(极低) |
ni |
nice | 调整过优先级的用户态进程占用 | 0.0% |
id |
idle | 空闲 CPU 占比 | 99.7%(CPU 几乎完全空闲) |
wa |
wait | I/O 等待占用(等待磁盘 / 网络 IO) | 0.0%(无 IO 瓶颈) |
hi |
hardware irq | 硬件中断占用 | 0.0% |
si |
software irq | 软件中断占用 | 0.0% |
st |
steal | 被虚拟机偷取的 CPU(仅云主机 / 虚拟机) | 0.0% |
4. 第四行:内存(Mem)使用情况
plaintext
plaintext
MiB Mem : 13820.2 total, 12679.5 free, 505.7 used, 635.1 buff/cache
| 字段 | 含义 | 截图解读(单位:MiB) |
|---|---|---|
total |
总物理内存 | 13820.2 MiB ≈ 13.5GB |
free |
完全空闲内存 | 12679.5 MiB(大部分内存空闲) |
used |
已使用内存(不含缓存) | 505.7 MiB(极低) |
buff/cache |
缓存 / 缓冲区占用(可回收) | 635.1 MiB(系统用空闲内存做缓存,提升性能) |
补充:
available Mem(下一行)=free + 可回收的buff/cache,是真正可用的内存,截图中为13119.3 MiB,说明内存非常充足。
5. 第五行:交换分区(Swap)使用情况
plaintext
plaintext
MiB Swap: 4096.0 total, 4096.0 free, 0.0 used. 13119.3 avail Mem
| 字段 | 含义 | 截图解读 |
|---|---|---|
total |
交换分区总大小 | 4096 MiB = 4GB |
free |
空闲交换分区 | 4096 MiB(完全空闲) |
used |
已使用交换分区 | 0.0 MiB(说明内存充足,系统未使用虚拟内存) |
avail Mem |
可用于新进程的内存估算值 | 13119.3 MiB(≈12.8GB,非常充足) |
二、进程列表区(每个进程的详细状态)
表头字段说明:
plaintext
plaintext
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
| 列名 | 含义 | 核心解读 |
|---|---|---|
PID |
进程 ID(唯一标识) | 用于kill等操作管理进程 |
USER |
进程所属用户 | 如root、systemd+、message+等 |
PR |
优先级(Priority) | 内核调度优先级,数值越小优先级越高 |
NI |
nice 值 | 用户可调整的优先级,范围 - 20(最高)~19(最低) |
VIRT |
虚拟内存大小(Virtual) | 进程申请的总虚拟内存(含交换区、共享库等,不代表实际占用) |
RES |
常驻内存大小(Resident) | 进程实际占用的物理内存(核心关注指标) |
SHR |
共享内存大小(Shared) | 进程与其他进程共享的内存(如共享库) |
S |
进程状态(State) | R= 运行中,S= 睡眠,Z= 僵尸,T= 停止 |
%CPU |
CPU 占用率(单核 100% 为满) | 多核下总和可超过 100% |
%MEM |
物理内存占用率(占总内存的百分比) | 截图中 Java 进程占 0.3% |
TIME+ |
进程累计 CPU 时间 | 进程启动后占用的总 CPU 时长(TIME+精确到 0.01 秒) |
COMMAND |
进程启动命令 | 如java、top、systemd等 |
结合截图的进程解读
PID 2790:java进程%CPU: 7.0:占用 7% CPURES: 41216 MiB:实际占用约 40MB 物理内存S: S:睡眠状态(等待事件,非持续运行)- 这是一个 Java 应用进程,资源占用很低。
PID 2858:top进程%CPU: 0.3:占用 0.3% CPUS: R:运行中(就是当前执行的top命令本身)- 每次运行
top都会出现这个进程,退出后消失。
PID 1:systemd进程- Linux 系统的1 号进程,系统初始化的根进程,所有进程的父进程。
三、top 常用交互命令(运行中直接按键)
| 按键 | 功能 |
|---|---|
q |
退出top |
P |
按 CPU 占用率排序(默认) |
M |
按内存占用率排序 |
1 |
展开 / 收起每个 CPU 核心的详细占用 |
c |
显示完整命令行(默认只显示命令名) |
u + 用户名 |
只显示指定用户的进程 |
k + PID |
杀死指定进程(相当于kill命令) |
h |
显示帮助菜单 |
四、截图系统状态总结
从截图可以看出:
- ✅ CPU:99.7% 空闲,负载极低,无性能瓶颈
- ✅ 内存:13GB 总内存,12.8GB 可用,几乎无占用
- ✅ 进程:仅 41 个进程,无僵尸进程,Java 进程资源占用正常
- ✅ Swap:完全未使用,说明内存充足,系统运行健康
五、延伸:top 常用启动参数
| 参数 | 功能 |
|---|---|
top -d 1 |
每 1 秒刷新一次(默认 3 秒) |
top -p PID |
只监控指定 PID 的进程 |
top -u 用户名 |
只显示指定用户的进程 |
top -b -n 1 > top.log |
批处理模式输出 1 次结果到日志(用于脚本监控) |