top 命令
top 是一个用于实时监控系统进程和资源占用情况的命令行工具,它可以帮助管理员了解系统的运行状态并进行性能分析。
基本语法
bash
top [选项]
常用选项
| 选项 | 描述 |
|---|---|
-d <秒数> |
设置更新间隔时间,默认为3秒 |
-u <用户名> |
只显示指定用户的进程 |
-p <PID> |
只显示指定PID的进程 |
-i |
不显示闲置或僵尸进程 |
-c |
显示完整的命令行参数 |
-b |
批处理模式,用于输出到文件或管道 |
-n <次数> |
更新指定次数后退出 |
-H |
显示线程而不是进程 |
-o <字段> |
按指定字段排序 |
输出解释
顶部系统摘要信息
text
top - 14:30:45 up 2 days, 18:45, 1 user, load average: 0.45, 0.32, 0.28
Tasks: 156 total, 1 running, 154 sleeping, 0 stopped, 1 zombie
%Cpu(s): 5.2 us, 2.3 sy, 0.0 ni, 91.8 id, 0.7 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7951.1 total, 1234.5 free, 4567.8 used, 2148.8 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 3012.3 avail Mem
| 字段 | 描述 |
|---|---|
14:30:45 |
当前系统时间 |
up 2 days, 18:45 |
系统运行时间 |
1 user |
当前登录用户数 |
load average: 0.45, 0.32, 0.28 |
系统平均负载(1分钟、5分钟、15分钟) |
Tasks: 156 total |
总进程数 |
1 running |
正在运行的进程数 |
154 sleeping |
睡眠的进程数 |
0 stopped |
停止的进程数 |
1 zombie |
僵尸进程数 |
%Cpu(s): |
CPU使用率分布 |
us |
用户空间CPU使用率 |
sy |
系统空间CPU使用率 |
ni |
优先级调整后的进程CPU使用率 |
id |
空闲CPU使用率 |
wa |
等待I/O的CPU使用率 |
hi |
硬件中断CPU使用率 |
si |
软件中断CPU使用率 |
st |
虚拟机被偷走的CPU使用率 |
MiB Mem: |
物理内存使用情况 |
MiB Swap: |
交换空间使用情况 |
进程列表信息
| 列名 | 描述 |
|---|---|
PID |
进程ID |
USER |
进程所有者 |
PR |
进程优先级 |
NI |
nice值(优先级调整值) |
VIRT |
虚拟内存使用量 |
RES |
物理内存使用量(驻留集大小) |
SHR |
共享内存大小 |
S |
进程状态(R=运行, S=睡眠, D=不可中断睡眠, T=停止, Z=僵尸) |
%CPU |
CPU使用率 |
%MEM |
内存使用率 |
TIME+ |
进程累计CPU时间 |
COMMAND |
进程命令 |
交互命令
在top运行时,可以使用以下键盘命令进行交互操作:
| 命令 | 描述 |
|---|---|
h 或 ? |
显示帮助信息 |
k |
杀死进程(需要输入PID) |
r |
调整进程优先级(需要输入PID和nice值) |
f |
自定义显示字段 |
o |
改变排序字段 |
u |
过滤指定用户的进程 |
i |
切换显示闲置进程 |
c |
切换显示完整命令行 |
t |
切换CPU状态显示格式 |
m |
切换内存状态显示格式 |
1 |
显示所有CPU的详细使用率 |
s |
调整更新间隔时间 |
q |
退出top |
常用示例
基本使用
bash
top
显示所有进程的实时状态。
设置更新间隔为1秒
bash
top -d 1
只显示指定用户的进程
bash
top -u root
只显示指定PID的进程
bash
top -p 1234 -p 5678
显示完整命令行
bash
top -c
按内存使用率排序
在top交互界面中按 M(大写),或使用命令:
bash
top -o %MEM
按CPU使用率排序
在top交互界面中按 P(大写),或使用命令:
bash
top -o %CPU
批处理模式输出到文件
bash
top -b -n 5 > top_output.txt
将5次更新的结果输出到文件。
显示线程信息
bash
top -H -p 1234
显示指定PID进程的所有线程。
高级技巧
实时监控特定进程
bash
top -d 2 -p $(pgrep -d',' nginx)
实时监控nginx进程,每2秒更新一次。
显示进程树
在top交互界面中按 V(大写)可以显示进程树结构。
保存自定义视图
在top交互界面中:
- 使用
f选择要显示的字段 - 使用
o设置排序字段 - 使用
W(大写)保存当前配置到~/.toprc文件
使用正则表达式过滤进程
bash
top -c | grep -i nginx
查看最耗CPU的进程
bash
top -b -n 1 | head -20
退出命令
按 q 键退出top命令。
注意事项
- top命令会消耗一定的系统资源,长时间运行可能影响系统性能
- 对于高负载系统,建议适当增加更新间隔时间
- 批处理模式(-b)适合用于脚本自动化监控
- 僵尸进程(Z状态)通常需要通过终止其父进程来清理
最后更新:2026-02-07