Linux Top 命令使用教程与技巧
1. 基本使用
启动 top
# 直接启动
top
# 设置刷新间隔(秒)
top -d 2
# 只显示特定用户的进程
top -u username
# 启动时隐藏空闲进程
top -i
2. Top 界面概览
top - 10:30:00 up 10 days, 1:15, 1 user, load average: 0.05, 0.10, 0.15
Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.5 us, 0.5 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7952.0 total, 512.0 free, 4096.0 used, 3344.0 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 3500.0 avail Mem
各区域说明:
- 第一行:系统时间、运行时间、用户数、负载平均值
- 第二行:进程统计(总数、运行中、睡眠、停止、僵尸)
- 第三行:CPU使用率统计
- 第四行:物理内存使用情况
- 第五行:交换分区使用情况
3. 交互式命令(在 top 运行时使用)
进程排序
P - 按CPU使用率排序(默认)
M - 按内存使用率排序
T - 按运行时间排序
N - 按PID排序
显示选项
l - 切换显示负载平均值行
t - 切换显示任务/CPU状态行
m - 切换显示内存信息行
1 - 展开显示每个CPU核心的使用情况
进程操作
k - 杀死进程(输入PID和信号)
r - 重新设置进程优先级(nice值)
刷新控制
空格键 - 立即刷新
s - 更改刷新间隔时间(秒)
4. 实用技巧
批量模式(用于脚本)
# 显示一次然后退出
top -n 1 -b
# 保存到文件
top -n 1 -b > top_output.txt
# 只显示前10个进程
top -n 1 -b | head -20
监控特定进程
# 监控特定PID
top -p 1234
# 监控多个PID
top -p 1234,5678,9012
# 监控进程名包含nginx的进程
top -p $(pgrep nginx | tr '\n' ',' | sed 's/,$//')
5. 字段说明与自定义
显示完整命令行
在top运行时按:c
改变显示字段
f - 进入字段管理界面
用上下键选择字段,按空格键切换显示
d - 选择排序字段
常用字段说明
- PID:进程ID
- USER:进程所有者
- PR:优先级
- NI:nice值
- VIRT:虚拟内存使用量
- RES:物理内存使用量
- SHR:共享内存大小
- S:进程状态
- %CPU:CPU使用率
- %MEM:内存使用率
- TIME+:累计CPU时间
6. 高级用法
保存配置
# 在top中调整好显示后
按 W(大写)保存配置到 ~/.toprc
颜色显示
# 启用颜色显示
top -z
# 在运行中切换颜色:按 Z
树形显示进程
# 在运行中按:V
7. 实际应用示例
监控系统性能
# 每5秒刷新,只显示重要信息
top -d 5 -i
# 按内存排序,监控内存使用
top -o %MEM
找出资源占用最高的进程
# 按CPU排序
top -o %CPU
# 按内存排序
top -o %MEM
在脚本中使用
#!/bin/bash
# 获取CPU使用率最高的进程
HIGH_CPU_PROC=$(top -bn1 -o %CPU | head -8 | tail -1 | awk '{print $12}')
echo "CPU使用最高的进程: $HIGH_CPU_PROC"
# 获取内存使用率
MEM_USAGE=$(top -bn1 | grep "MiB Mem" | awk '{print $8/$4*100}')
echo "内存使用率: ${MEM_USAGE}%"
8. 替代工具推荐
# htop - 增强版top
htop
# atop - 更详细的系统监控
atop
# nmon - 专业的性能监控工具
nmon
常用快捷键总结
- q – 退出
- h – 帮助
- P/M/T – 按CPU/内存/时间排序
- k – 杀死进程
- r – 调整优先级
- 1 – 显示每个CPU核心
- z – 切换颜色显示
掌握这些 top 命令的使用技巧,可以让你更有效地监控系统性能,快速定位问题进程。


