【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 次结果到日志(用于脚本监控)
相关推荐
SPC的存折7 小时前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
爱学习的小囧7 小时前
VMware ESXi 6.7U3v 新版特性、驱动集成教程和资源包、部署教程及高频问答详情
运维·服务器·虚拟化·esxi6.7·esxi蟹卡驱动
小疙瘩8 小时前
只是记录自己发布若依分离系统到linux过程中遇到的问题
linux·运维·服务器
dldw7778 小时前
IE无法正常登录windows2000server的FTP服务器
运维·服务器·网络
运维有小邓@9 小时前
什么是重放攻击?如何避免成为受害者?
运维·网络·安全
我是伪码农9 小时前
外卖餐具智能推荐
linux·服务器·前端
汤愈韬9 小时前
下一代防火墙通用原理
运维·服务器·网络·security
皮皮林55110 小时前
强烈建议大家使用 Linux 做开发?
linux
IMPYLH10 小时前
Linux 的 od 命令
linux·运维·服务器·bash
Kk.080211 小时前
Linux(十一)fork实例练习、文件操作示例及相关面试题目分享
linux·运维·算法