top 是 Linux/Unix 系统中最常用的实时系统监控工具,分为上半部分(系统全局汇总)和下半部分(进程列表)。


一、 系统汇总区域(前 5 行)

第 1 行:系统基本信息与负载 (System Uptime & Load)

top - 14:29:52 up 25 days, 17:48, 1 user, load average: 4.49, 4.89, 5.00
  • 14:29:52:当前系统时间。
  • up 25 days, 17:48:系统连续运行时间。
  • 1 user:当前登录的用户数量。
  • load average: 4.49, 4.89, 5.00:系统在过去 1 分钟、5 分钟、15 分钟内的平均负载。单核 CPU 超过 1.0 即表示超负荷。

第 2 行:任务/进程统计 (Tasks)

Tasks: 685 total, 3 running, 680 sleeping, 0 stopped, 2 zombie
  • total:总进程数。
  • running:正在运行的进程数。
  • sleeping:休眠中的进程数。
  • stopped:已停止的进程数。
  • zombie:僵尸进程数(占用进程号未释放,需重点关注)。

第 3 行:CPU 使用率 (CPU Usage)

%Cpu(s): 12.5 us, 3.2 sy, 0.0 ni, 83.1 id, 0.2 wa, 0.0 hi, 1.0 si, 0.0 st
  • us (User):用户空间占用 CPU 百分比。
  • sy (System):内核空间占用 CPU 百分比。
  • ni (Nice):改变过优先级的进程占用 CPU 百分比。
  • id (Idle):CPU 空闲百分比。
  • wa (IO-wait):等待 I/O(如读写磁盘)的 CPU 时间百分比,数值过高说明磁盘有瓶颈。
  • hi (Hardware IRQ):硬中断占用百分比。
  • si (Software Interrupts):软中断占用百分比。
  • st (Steal Time):被虚拟化偷走的时间(用于虚拟机环境)。

第 4 & 5 行:物理内存与 Swap 交换分区 (Mem & Swap)

MiB Mem :  15886.5 total,   2340.1 free,   8500.0 used,   5046.4 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   6800.0 avail Mem
  • total:内存总量。
  • free:空闲物理内存。
  • used:已使用内存。
  • buff/cache:用作内核缓存和缓冲区的内存。
  • avail Mem:不使用 Swap 的情况下,可分配给新应用使用的实际可用内存(最核心参考值)。

二、 进程列表区域字段说明

字段名含义说明
PID进程 ID进程的唯一标识符。
USER所有者运行该进程的用户。
PR调度优先级Priority,数值越小优先级越高。
NINice 值优先级修正值,负值表示高优先级,正值表示低优先级。
VIRT虚拟内存进程申请的总虚拟内存大小。
RES常驻内存进程实际占用的物理内存大小(重点关注)。
SHR共享内存进程使用的共享内存大小。
S进程状态R (运行) / S (休眠) / D (不可中断休眠) / Z (僵尸) / T (停止)。
%CPUCPU 占用率进程占用的 CPU 资源百分比(多核系统可能超过 100%)。
%MEM内存占用率进程占用物理内存的百分比。
TIME+CPU 时间进程累计消耗的 CPU 时间。
COMMAND命令行启动进程的命令/程序名称。

三、 常用交互按键(在 top 运行界面直接按)

排序与显示控制:

  • P:按 CPU 使用率降序排序(默认)。
  • M:按 内存使用率降序排序。
  • N:按 PID 大小排序。
  • T:按 CPU 运行时间排序。
  • R:切换升序/降序。
  • 1:展开/折叠显示所有逻辑 CPU 核心的使用率。
  • c:切换显示完整命令行/仅程序名。
  • z:开启/关闭高亮彩色显示。

进程管理与筛选:

  • k:杀死进程。输入 PID 后按回车,再输入 Signal(默认 15 正常退出,9 强制杀死)。
  • r:修改进程优先级 (Renice)。输入 PID 后按回车,再输入新的 Nice 值。
  • u:按指定用户筛选进程。
  • d 或 s:修改刷新间隔时间(默认 3 秒)。
  • q:退出 top 命令。

四、 常用命令行启动参数

  • top -d 1:设置刷新时间间隔为 1 秒。
  • top -u root:仅监控 root 用户的进程。
  • top -p 1234,5678:仅监控指定 PID 的进程。
  • top -b -n 1 > top.txt:批处理模式运行 1 次并将结果输出到文件(常用于脚本日志收集)。