top 是 Linux 内置交互式系统实时监控工具,无需额外安装,核心用于查看系统负载、进程资源占用,是运维、开发排查服务器性能最基础工具。
一、基础说明
bash
top # 启动top交互式界面
top -b -n 3 # 批处理模式,输出3次快照后退出(适合脚本采集)
二、核心常见使用场景
场景 1:快速查看服务器整体负载(最常用)
目标:判断服务器是否繁忙、CPU 瓶颈
启动 top 第一眼看头部 5 行汇总信息
plaintext
top - 15:30:00 up 12d, 4:22, 2 users, load average: 1.82, 1.65, 1.31
Tasks: 189 total, 1 running, 188 sleeping, 0 stopped, 0 zombie
%Cpu(s): 32.1 us, 5.2 sy, 0.0 ni, 60.4 id, 1.8 wa, 0.0 hi, 0.5 si, 0.0 st
MiB Mem : 15890.2 total, 2105.6 free, 8760.3 used, 5024.3 buff/cache
MiB Swap: 8192.0 total, 8192.0 free, 0.0 used. 6342.5 avail Mem
关注点:
load average:1/5/15 分钟系统平均负载;%Cpu(s):wa(IO 等待)高 = 磁盘瓶颈;us高 = 应用程序耗 CPU;Mem/Swap:Swap 持续占用升高 → 内存不足。
使用场景:业务卡顿、接口超时,先确认整机负载、CPU / 内存 / IO 状态。
场景 2:定位占用 CPU 最高的进程
场景现象:服务器 CPU 飙升,不知道哪个进程导致
操作:
默认 top 界面按 P :按 CPU 使用率排序(大写 P)
找出
%CPU最高 PID配合
ps -ef | grep PID查看进程详情,或strace / perf进一步追踪
配套常用命令:
bash
top -b -n1 | sort -k9 -nr | head -10 # 一次性输出CPU Top10进程
场景 3:定位内存泄漏 / 内存占用过高进程
场景现象:服务器内存持续上涨,OOM Killer 杀死业务进程
操作:
top 界面按 M(大写 M):按内存
%MEM排序持续观察:进程
VIRT/RES是否不断上涨 → 判断内存泄漏
RES(RSS):进程实际物理内存占用,重点指标
场景 4:查找僵尸进程(Zombie)
头部 Tasks 一行:zombie 数值大于 0 代表存在僵尸进程
plaintext
Tasks: 189 total, 1 running, 188 sleeping, 0 stopped, 2 zombie
场景:程序 fork 子进程后没有回收,产生僵尸进程;需要找到父进程处理。
场景 5:监控特定单个进程(重点进程盯防)
场景:只观察 Java、Nginx、数据库等目标进程资源变化
方式 1:交互式内筛选
输入 o,然后输入 COMMAND=java 过滤 java 进程;
方式 2:启动直接指定 PID
bash
top -p 1234 # 只监控PID=1234进程
top -p 1234,5678 # 同时监控多个PID
适用:压测时持续观察应用 CPU、内存变化;排查程序运行期间资源波动。
场景 6:批量采集性能数据,写入日志(自动化脚本)
交互式 top 不能直接用于脚本,必须使用批模式 -b
bash
# 每3秒采集一次,持续采集10次,输出到日志
top -b -d 3 -n 10 > top_log.txt
使用场景:
复现偶发卡顿问题,后台持续录制性能快照;
运维定时采集系统指标,事后分析。
场景 7:多 CPU 核心展开查看(区分单核满载)
默认 top 汇总所有 CPU,按 1(数字 1)
展开每一颗逻辑 CPU 使用率。
典型场景:
单核程序(单线程应用)导致某一个 CPU100%,总体平均负载看着不高,很难发现瓶颈。开启多核视图快速定位单线程瓶颈。
场景 8:查看进程占用线程数量
top 中按 H 开启线程显示,所有线程展开
场景:
Java 程序、多线程服务,排查线程数量暴涨、死线程;配合 PID 查看线程资源消耗。
场景 9:排查 IO 等待高(% wa 高)
当 %Cpu wa 数值很高:CPU 空闲但是等待磁盘 IO。
top 只能看出现象,通常结合 iostat 配合,但 top 是第一时间发现问题入口。
特征:CPU 空闲 id 很高,但 wa 持续走高,业务响应缓慢。
三、高频交互式快捷键汇总(工作最常用)
四、top 适用边界 & 对比区分
✅ 适合:快速、简易、即时查看整机与进程资源;开箱即用,所有 Linux 标配。
❌ 不足:
无法看磁盘 IO、网络 IO;
不保存历史数据;
精细性能分析推荐搭配:
vmstat,iostat,pidstat,htop(增强版)
补充:很多机器安装 htop(top 增强版,界面更友好),但top 是系统原生,紧急故障环境一定存在,是应急排查保底工具。
五、典型工作排查流程示例
业务接口响应缓慢:
top→ 看 load average、CPU us/wa、内存 Swap按 P 查看高 CPU 进程;按 M 查看高内存进程
按 1 查看是否单核打满
发现疑点 PID → 结合
lsof、strace、jstack(Java)深入定位