top执行常用参数
| 参数 | 作用 |
|---|---|
| -d <秒数> | 指定 top 命令的刷新时间间隔,单位为秒。默认为5秒 |
| -n <次数> | 指定 top 命令运行的次数后自动退出 |
| -p <进程ID> | 仅显示指定进程ID的信息 |
| -u <用户名> | 仅显示指定用户名的进程信息 |
| -b | 以批处理模式运行,直接将结果输出到文件 |
| -c | 显示完整的命令行而不截断 |
| -S | 累计显示进程的 CPU 使用时间 |
| -i | 不显示闲置或无用的进程 |
| -H | 在进程信息中显示线程详细信息 |
| -s | 以安全模式运行,去除交互命令带来的潜在危险 |
| -q | 没有任何延迟时间的进行刷新,如果调用程序有超级用户权限,top 将会以尽可能高的优先级运行 |
例如:
-
top -d 1 -n 10:刷新时间为1秒,显示10次后退出 -
top -p 1234:仅显示进程ID为1234的进程信息 -
top -u root:仅显示用户root的进程信息 -
top -b -n 10 > top_output.txt:以批处理模式运行,将输出保存到文件
top各输出参数含义

第一行
top - 05:28:18 up 1 day, 13 min, 4 users, load average: 0.00, 0.00, 0.00
| 内容 | 含义 |
|---|---|
| 14:49:28 | 表示当前时间 |
| up 1:33 | 系统远行时间,格式为时:分 |
| 1 user | 当前登陆用户数 |
| load average: 0.00, 0.00, 0.00 | 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值 |
第二行
Tasks: 174 total, 1 running, 173 sleeping, 0 stopped, 0 zombie
| 内容 | 含义 |
|---|---|
| Tasks: 80 total | 进程总数 |
| 2 running | 正在运行的进程数 |
| 78 sleeping | 睡眠的进程数 |
| 0 stopped | 停止的进程数 |
| 0 zombie | 僵尸进程数 |
第三行
%Cpu(s): 5.9 us, 0.0 sy, 0.0 ni, 94.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
| 内容 | 含义 |
|---|---|
| 0.0%us | 用户空间占用CPU百分比 |
| 0.0%sy | 内核空间占用CPU百分比 |
| 0.0%ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
| 100.0%id | 空闲CPU百分比 |
| 0.0%wa | 等待输入输出的CPU时间百分比 |
| 0.0%hi | 硬中断(Hardware IRQ)占用CPU的百分比 |
| 0.0%si | 软中断(Software Interrupts)占用CPU的百分比 |
| 0.0 st | 用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间 |
第四行
Mem: 1922488k total, 406936k used, 1515552k free, 11940k buffers
| 内容 | 含义 |
|---|---|
| 1922488k total | 物理内存总量 |
| 406936k used | 使用的物理内存总量 |
| 1515552k free | 空闲内存总量 |
| 11940k buffers | 用作内核缓存的内存量 |
第五行
Swap: 835576k total, 0k used, 835576k free, 111596k cached
| 内容 | 含义 |
|---|---|
| 835576k total | 交换区总量 |
| 0k used | 使用的交换区总量 |
| 835576k free | 空闲交换区总量 |
| 111596k cached | 缓冲的交换区总量 |
进程信息
| 列名 | 含义 |
|---|---|
| PID | 进程id |
| USER | 进程所有者的用户名 |
| PR | 优先级 |
| NI | nice值。负值表示高优先级,正值表示低优先级 |
| VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
| RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
| SHR | 共享内存大小,单位kb |
| S | 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
| %CPU | 上次更新到现在的CPU时间占用百分比 |
| %MEM | 进程使用的物理内存百分比 |
| TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
| COMMAND | 命令名/命令行 |
top交互式命令(区分大小写)
| 参数 | 含义 |
|---|---|
| ? | 显示在top当中可以输入的命令 |
| P | 以CPU的使用资源排序显示 |
| M | 以内存的使用资源排序显示 |
| N | 以pid排序显示 |
| T | 由进程使用的时间累计排序显示 |
| k | 给某一个pid一个信号,可以用来杀死进程(9) |
| r | 给某个pid重新定制一个nice值(即优先级) |
| q | 退出top(用ctrl+c也可以退出top) |
# 按CPU使用率排序P# 按内存使用率排序M# 杀死PID为1234的进程k 1234top命令实际使用
f自定义显示列
在 top 命令运行过程中,按 f键来选择显示的列。上下键选择列,空格键选择或取消选择,按 q键退出选择界面。
进程字段排序
默认情况下,top 命令按照CPU使用率对进程进行排序。
输入 x 键打开或关闭排序列高亮效果,使用 Shift+> 或 Shift+< 键向右或左改变排序列。
进程筛选与搜索
在 top 命令运行过程中,按 o 键来输入过滤条件,筛选特定的进程。
例如,可以输入 COMMAND=ping 来筛选包含 ping 关键字的进程。
保存配置
top 命令允许用户保存当前的配置,以便下次启动时继续使用。可以通过输入 W 键将当前设置写入 ~/.toprc 文件中。
多核CPU监控
在 top 命令运行过程中,可以通过输入 1 键来监控每个逻辑CPU的状况。