概述
top
命令可以实时显示系统中各个进程的资源占用情况,类似于 Windows 系统下的任务管理器。
关于 top
命令显示的信息说明如下:
- 第一行信息表示任务队列信息:
20:19:28
:表示系统当前时间。up 10 days, 22:38
:系统的运行时间,本机已经运行 10 天 22 小时 38 分钟。8 users
:当前登录了 8 个用户。load average: 0.00, 0.02, 0.00
:系统在之前 1 分钟,5 分钟,15 分钟的平均负载。一般认为小于 1 时,负载较小。如果大于1,系统已经超出负荷。
- 第二行信息表示进程信息:
Tasks: 121 total
:表示系统中的进程总数。1 running
:表示正在运行的进程数。120 sleeping
:表示睡眠的进程数。0 stopped
:表示停止的进程数。0 zombie
:表示僵尸进程数。如果不是 0,需要手工检查僵尸进程。
- 第三行表示 CPU 信息:
%Cpu(s): 0.3 us
:表示用户模式占用的 CPU 百分比。0.3 sy
:表示系统模式占用的 CPU 百分比。0.0 ni
:表示改变过优先级的用户进程占用的 CPU 百分比。99.3 id
:表示空闲 CPU 的 CPU 百分比。0.0 wa
:表示等待输入/输出的进程的占用 CPU 百分比。0.0 hi
:表示硬中断请求服务占用的 CPU 百分比。0.0 si
:表示软中断请求服务占用的 CPU 百分比。0.0 st
:表示 st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比。
- 第四行表示物理内存信息:
MiB Mem: 3736.7 total
: 表示物理内存的总量,单位为 KB。1328.4 free
:表示空闲的物理内存数量。284.8 used
:表示已经使用的物理内存数量。2123.4 buff/cache
:表示作为缓冲的内存数量。
- 第五行表示交换分区(swap)信息:
MiB Swap: 0.0 total
:表示交换分区(虚拟内存)的总大小。0.0 free
:表示空闲交换分区的大小。0.0 used
:表示已经使用的交互分区的大小。3167.7 avail Mem
:表示作为缓存的交互分区的大小。
- 第六行表示详细信息:
PID
:进程 ID。USER
:进程所有者的用户 ID。PR
:优先级。NI
:nice 值,表示优先级。其中正值表示高优先级,负值表示低优先级。VIRT
:进程使用的虚拟内存的总量。VIRT=SWAP+RES
。RES
:进程使用的未被置换出的物理内存大小,单位为 kb。RES=CODE+DATA
。SHR
:共享内存大小。S
:进程状态。%CPU
:上次更新到现在的 CPU 时间占用百分比。%MEM
:进程占用的物理内存比。TIME+
:进程使用的 CPU 时间总计。COMMAND
:命令名/命令行。
语法
该命令的语法如下:
top [选项]
该命令支持的选项有:
选项 | 说明 |
---|---|
-d 秒数 | 指定 top 命令每隔几秒更新。默认是 3 秒 |
-i | 使 top 不显示任何闲置或者僵死进程 |
-p | 通过指定监控进程 ID 来仅仅监控某个进程的状态 |
-b | 以批处理模式操作 |
-c | 显示整个命令行而不是整个命令名 |
-I:忽略失效过程 | |
-s | 保密模式 |
-S | 累积模式 |
-i <时间> |
设置间隔时间 |
-u <用户名> |
指定用户名 |
-p <进程号> |
指定进程 |
-n <次数> |
循环显示的次数 |
在 top
命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了 -s
选项, 其中一些命令可能会被屏蔽无法发挥效用。
命令 | 说明 |
---|---|
h | 显示帮助画面,给出一些简短的命令总结说明 |
k | 终止一个进程 |
i | 忽略闲置和僵死进程。这是一个开关式命令 |
q | 退出程序 |
r | 重新安排一个进程的优先级别 |
S | 切换到累计模式 |
s | 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s |
f或者F | 从当前显示中添加或者删除项目 |
o或者O | 改变显示项目的顺序 |
l | 切换显示平均负载和启动时间信息 |
m | 切换显示内存信息 |
t | 切换显示进程和CPU状态信息 |
c | 切换显示命令名称和完整命令行 |
M | 根据驻留内存大小进行排序 |
P | 根据CPU使用百分比大小进行排序 |
T | 根据时间/累计时间进行排序 |
W | 将当前设置写入 ~/.toprc 文件中 |
使用
显示进程信息
如果要实时查看进程信息,执行如下命令:
top
显示指定进程信息
如果要查看指定进程的信息,需要使用 -p
选项。命令格式如下:
top -p 进程号