Skip to content

top 命令速查

top 实时查看系统负载与进程资源占用,是定位「机器卡、CPU 高、内存高」的第一入口。

常用参数

shell
top [-d 秒数] [-p PID] [-q] [-S] [-s] [-i] [-c]
参数含义
-d 秒数两次刷新间隔
-p PID只查看指定进程
-q无延迟持续刷新
-S累计模式
-i不显示闲置/僵尸进程
-c显示完整命令行

统计信息区(前五行)

内容关键字段
第 1 行负载load average: 1min, 5min, 15min(任务队列平均长度,最核心)
第 2 行进程total / running / sleeping / stopped / zombie
第 3 行CPUus(用户) sy(内核) ni id(空闲) wa(IO等待) hi/si(硬/软中断) st(被虚拟化偷走)
第 4 行内存total / free / used / buff/cache
第 5 行Swaptotal / free / used / avail Mem

进程信息区(关键字段)

字段含义
PID / PPID进程 ID / 父进程 ID
PR / NI优先级 / nice 值
VIRT虚拟内存总量(= SWAP + RES)
RES未被换出的物理内存(= CODE + DATA)
SHR共享内存
S状态:D(不可中断睡眠) R(运行) S(睡眠) T(停止) Z(僵尸)
%CPU / %MEMCPU / 内存占用百分比
TIME+累计 CPU 时间(0.01s 精度)

使用要点

  • 看负载load average 长期 > CPU 核数,说明任务队列积压,机器过载。
  • 看 CPUwa(IO 等待)高是磁盘瓶颈信号,不是 CPU 算力问题;st 高说明被虚拟化环境偷走算力。
  • 看僵尸zombie 持续增多说明父进程未正确回收子进程(wait)。
  • 内存buff/cache 高是正常的(Linux 会拿空闲内存做缓存),关键看 avail Mem 是否够。

关联

最近更新