Linux `top` 命令深度解析与高阶应用指南
一、核心功能解析
1. 实时系统监控
top - 14:30:45 up 30 days, 5:20, 3 users, load average: 0.02, 0.05, 0.10
Tasks: 256 total, 1 running, 255 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.3 us, 1.2 sy, 0.0 ni, 93.2 id, 0.1 wa, 0.0 hi, 0.2 si, 0.0 st
MiB Mem : 15842.3 total, 2345.6 free, 4567.8 used, 8928.9 buff/cache
MiB Swap: 2048.0 total, 1980.1 free, 67.9 used. 10928.1 avail Mem
关键指标说明:
- 负载平均:1/5/15分钟平均负载(理想值 ≤ CPU核心数)
- CPU状态:用户态(
us
)、系统态(sy
)、I/O等待(wa
)占比分析 - 内存分布:
buff/cache
为可回收缓存,avail Mem
为真实可用内存
二、交互式命令大全
1. 实时控制指令
快捷键 | 功能说明 | 应用场景 |
---|---|---|
z |
切换彩色/黑白显示 | 高亮关键指标 |
x |
高亮当前排序字段 | 快速识别最大值 |
1 |
展开多核CPU显示 | NUMA架构分析 |
H |
显示线程级详细信息 | 定位问题线程 |
u |
按用户过滤进程 | 用户资源审计 |
2. 进程操作指令
k : 终止指定PID进程(默认SIGTERM,可输入信号值)
r : 调整进程优先级(Nice值范围-20到19)
d : 修改刷新间隔(默认3秒,范围0.1-30秒)
三、高级配置技巧
1. 字段定制配置
- 进入
top
后按f
- 使用方向键选择字段
- 按
空格
切换显示状态 - 按
s
设置排序字段
推荐字段组合:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2. 持久化配置
生成当前配置
top -n1 -b > ~/.toprc
下次启动加载配置
top -c ~/.toprc
3. 批处理模式
每5秒采样,输出3次到日志文件
top -b -d 5 -n3 > top.log
监控指定PID的Java进程
top -p $(pgrep -d, java)