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 1234
top命令实际使用
f自定义显示列
在 top
命令运行过程中,按 f键
来选择显示的列。上下键
选择列,空格键
选择或取消选择,按 q键
退出选择界面。
进程字段排序
默认情况下,top
命令按照CPU使用率对进程进行排序。
输入 x
键打开或关闭排序列高亮效果,使用 Shift+>
或 Shift+<
键向右或左改变排序列。
进程筛选与搜索
在 top
命令运行过程中,按 o
键来输入过滤条件,筛选特定的进程。
例如,可以输入 COMMAND=ping
来筛选包含 ping
关键字的进程。
保存配置
top
命令允许用户保存当前的配置,以便下次启动时继续使用。可以通过输入 W
键将当前设置写入 ~/.toprc
文件中。
多核CPU监控
在 top
命令运行过程中,可以通过输入 1
键来监控每个逻辑CPU的状况。