【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 次结果到日志(用于脚本监控)
相关推荐
A小辣椒6 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒9 小时前
TShark:基础知识
linux
AlfredZhao12 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式