【Linux `top` 命令详解(结合截图逐行拆解)】

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 进程所属用户 rootsystemd+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 进程启动命令 javatopsystemd

结合截图的进程解读

  1. PID 2790java进程
    • %CPU: 7.0:占用 7% CPU
    • RES: 41216 MiB:实际占用约 40MB 物理内存
    • S: S:睡眠状态(等待事件,非持续运行)
    • 这是一个 Java 应用进程,资源占用很低。
  2. PID 2858top进程
    • %CPU: 0.3:占用 0.3% CPU
    • S: R:运行中(就是当前执行的top命令本身)
    • 每次运行top都会出现这个进程,退出后消失。
  3. PID 1systemd进程
    • 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 次结果到日志(用于脚本监控)
相关推荐
WJ.Polar20 分钟前
Scapy基本应用
linux·运维·网络·python
lljss202029 分钟前
1. NameServer 域名服务器---NS
linux·服务器·前端
萧行之1 小时前
Ubuntu+Windows双系统:解决GRUB不显示Windows启动项、一闪而过问题
linux·windows·ubuntu
数智顾问2 小时前
(123页PPT)华为流程管理体系精髓提炼(附下载方式)
运维·华为
Yupureki2 小时前
《Linux网络编程》5.HTTPS协议
linux·网络·https
网络工程小王3 小时前
【LCEL 链式调用详解】调用篇-2
java·服务器·前端·数据库·人工智能
搬砖的小码农_Sky3 小时前
Linux操作系统:Ubuntu和Debian的区别
linux·ubuntu·debian
江湖有缘3 小时前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
xhbh6664 小时前
路由端口转发常见应用场景有哪些?有什么?
服务器·ip·端口转发·ip地址·流量转发·建站
前端之虎陈随易4 小时前
2年没用Nodejs了,Bun很香
linux·前端·javascript·vue.js·typescript