top命令
- 描述
动态查看进程信息,实时显示系统中各个进程的资源占用状况,交互式查询信息。
默认按CPU使用率排序,输入M可以按照内存使用率排序,输入N可以按照进程号排序,输入小写 z 可以高亮显示颜色。
- 用法
top [选项]
- 选项
-d ## top刷新间隔,默认为3秒
-p ## 查看指定PID的进程信息
- 实例
[root@test ~]# top
输出参数含义
(1)第一行:任务队列信息,与 uptime 命令的执行结果相同。
top - 11:04:31 up 1:56, 2 users, load average: 0.00, 0.01, 0.05
显示 | 含义 |
---|---|
11:04:31 | 表示当前时间 |
up 1:56 | 表示系统已经连续运行1小时56分 |
2 users | 表示当前登录用户数 |
load average: 0.00, 0.01, 0.05 | 表示系统过去1分钟、5分钟和15分钟的平均负载 |
注意:第二、三行显示进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。
(2)第二行:显示进程的信息。
Tasks: 125 total, 2 running, 123 sleeping, 0 stopped, 0 zombie
显示 | 含义 |
---|---|
125 total | 进程总数,125个 |
2 running | 正在运行的进程数,2个 |
123 sleeping | 休眠的进程数,123个 |
0 stopped | 停止的进程数,0个 |
0 zombie | 僵尸进程数,0个 |
(3)第三行:显示CPU的信息。
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
显示 | 含义 |
---|---|
0.0 us | user,用户空间占用CPU时间百分比 |
0.0 sy | system,内核空间占用CPU时间百分比 |
0.0 ni | nice,运行已调整优先级用户进程占用CPU时间的百分比 |
100.0 id | 空闲CPU时间百分比 |
0.0 wa | wait,等待输入输出的CPU时间百分比 |
0.0 hi | 处理硬中断(Hardware Interrupt Request,HIRQ)占用CPU时间的百分比 |
0.0 si | 处理软中断(Software Interrupt Request,SIRQ)占用CPU时间的百分比 |
0.0 st | 虚拟机占用CPU处理时间百分比 |
注意:第四、五行分别显示物理内存、交换区的信息。
(4)第四行:显示物理内存的信息。
KiB Mem: 3883644 total, 590836 used, 3292808 free, 688 buffers
显示 | 含义 |
---|---|
3883644 total | 物理内存总量 |
590836 used | 使用的物理内存总量 |
3292808 free | 空闲的内存总量 |
688 buffers | 用作内核缓存的内存量 |
(5)第五行:显示交换区的信息。
KiB Swap: 0 total, 0 used, 0 free. 262188 cached Mem
显示 | 含义 |
---|---|
0 total | 交换区总量 |
0 used | 使用的交换区总量 |
0 free | 空闲交换区总量 |
262188 cached Mem | 缓冲的交换区总量 |
缓冲的交换区总量:内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
(6)进程信息区:显示各个进程的详细信息。
显示 | 含义 |
---|---|
PID | 进程ID,进程的唯一标识符 |
USER | 进程所有者的实际用户名 |
PR | 进程的调度优先级,其中’rt’表示该进程运行在实时态 |
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占用终端输出时,我们可以进行相应的交互式操作以满足查询进程的需求。
- s: 修改进程刷新间隔时间
- m: 根据内存占有率进行排序
- c: 根据 cpu 占有率进行排序
- u: 后面输入用户名 , 用来查看该用户发起的所有进程
- z: 可以高亮显示颜色
- A: 切换交替显示模式
在交替模式下会显示4个窗口(分别关注不同的字段)
显示 | 含义 |
---|---|
Def | 默认字段组 |
Job | 任务字段组 |
Mem | 内存字段组 |
Usr | 用户字段组 |
这四个字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4个窗口中只有一个窗口是当前窗口。当前窗口的名称显示在左上方。(注意:只有当前窗口才会受键盘控制)
这时,我们可以用 ‘a’ 和 ‘w’ 在4个窗口间切换。’a’移到后一个窗口,‘w’移到前一个窗口。用’g’命令可以输入数字来选择指定窗口。
- V: 切换到树状图
- l 、t、m:切换负载、任务、内存信息的显示
(1)‘l‘ 不显示平均负载
(2)‘t‘ 不显示CPU概况
(3)’m’ 不显示内存和交换内存概况
(4)’l’、’t’、’m’ 三个同时使用,则上述三种全都不显示
- c: 触发命令,切换是否显示进程启动时的完整路径和程序名
- i: 切换显示空闲任务
f: 字段管理,用于选择想要显示的字段。(‘*‘ 标记的是已经选择的)
上下光标键在字段内导航选择,左光标键可以选择字段,回车或右光标键确认。按‘<‘移动已排序的字段到左边, ‘>’移动到右边。
R: 反向排序,切换反向/常规排序
- k: 结束任务,后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来给某个进程发起一信号
- q: 退出进程查看界面
- h: 显示 top 命令的帮助