top 命令是 Linux 系统中最常用的实时性能分析工具,能够动态显示系统中各个进程的资源占用状况,功能类似于 Windows 的任务管理器。top 提供了实时的系统处理器状态监视,支持按 CPU 使用率、内存使用率和执行时间对任务进行排序。
| 参数 | 说明 |
|---|
-d 秒 | 刷新间隔,默认 3 秒 |
-n 次数 | 刷新指定次数后退出 |
-p PID | 仅监控指定 PID 的进程 |
-u 用户 | 仅显示指定用户的进程 |
-H | 显示线程 |
-b | 批处理模式,用于输出重定向 |
-i | 不显示空闲进程 |
top - 10:30:00 up 3 days, 2:15, 3 users, load average: 0.15, 0.10, 0.05
Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.5 us, 0.8 sy, 0.0 ni, 96.5 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7856.3 total, 1234.5 free, 2345.6 used, 4276.2 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 5123.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 mysql 20 0 1023456 41256 10236 S 0.5 2.5 0:05.23 mysqld
5678 root 20 0 169492 13344 9840 S 0.3 0.8 0:02.15 nginx
| 行 | 内容 | 说明 |
|---|
| 第 1 行 | 系统概况 | 当前时间、运行时间、登录用户数、平均负载 |
| 第 2 行 | 任务统计 | 进程总数、运行中、睡眠、停止、僵尸 |
| 第 3 行 | CPU 状态 | CPU 使用率细分 |
| 第 4 行 | 物理内存 | 总量、空闲、已用、缓冲/缓存 |
| 第 5 行 | 交换内存 | 总量、空闲、已用 |
| 字段 | 说明 |
|---|
us | 用户空间占用 CPU 时间百分比 |
sy | 内核空间占用 CPU 时间百分比 |
ni | 改变过优先级的进程占用 CPU 时间 |
id | 空闲 CPU 时间百分比 |
wa | 等待 I/O 完成的 CPU 时间百分比 |
hi | 硬件中断占用 CPU 时间 |
si | 软件中断占用 CPU 时间 |
st | 被虚拟机偷走的 CPU 时间 |
| 按键 | 说明 |
|---|
P | 按 CPU 使用率降序排序(默认) |
M | 按内存使用率降序排序 |
T | 按运行时间降序排序 |
N | 按 PID 排序 |
| 按键 | 说明 |
|---|
1 | 切换显示每个 CPU 核心的使用率 |
c | 切换显示完整命令行/命令名 |
i | 切换显示空闲进程 |
V | 切换树形显示 |
H | 切换线程模式 |
u | 输入用户名过滤进程 |
W | 保存当前配置到 ~/.toprc |
| 按键 | 说明 |
|---|
k | 杀死进程(输入 PID 和信号) |
r | 调整进程优先级(renice) |
d | 修改刷新间隔 |
q | 退出 |
$ top -b -n 3 -d 2 > top_output.txt
进入 top 后,按 M 键即可切换为按内存使用率排序。
进入 top 后,按 1 键展开每个 CPU 核心的使用率。
$ ps aux --sort=-%cpu | head -5
| 工具 | 说明 | 安装 |
|---|
htop | 交互式增强版 top | apt install htop |
atop | 高级系统监控,支持历史回放 | apt install atop |
btop | 现代化系统监控工具 | apt install btop |