[命令] Linux top (资源和进程查看命令)

内容目录:
内容一:top 命令解析

内容二:top 交互命令

内容三:top 交互命令(即是在键入了 top 命令之后再键入以下命令)

内容四:top 命令使用案例

具体的内容:
内容一:top 命令解析
1.1 top 命令输出结果
# top
top - 14:16:16 up 6 days, 20:52,  4 users,  load average: 0.00, 0.00, 0.00
Tasks: 393 total,   1 running, 392 sleeping,   0 stopped,   0 zombie
%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
KiB Mem:   5848752 total,  5709944 used,   138808 free,     4960 buffers
KiB Swap:  2103292 total,        0 used,  2103292 free.  4507072 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S   %CPU  %MEM     TIME+ COMMAND                                      
    8 root      20   0       0      0      0 S  0.332 0.000   2:12.60 rcu_sched                                    
  716 z0042h2+  20   0   15484   2840   2132 R  0.332 0.049   0:00.09 top                                          
31993 root      20   0       0      0      0 S  0.332 0.000   0:00.08 kworker/u32:2                                
    1 root      20   0  189604   5892   4120 S  0.000 0.101   2:35.86 systemd                                      
    2 root      20   0       0      0      0 S  0.000 0.000   0:00.72 kthreadd                                     
    4 root       0 -20       0      0      0 S  0.000 0.000   0:00.00 kworker/0:0H

1.2 top 命令输出结果简介
1.2.1 top 命令输出结果分类
(1)前 5 行是整体的统计信息
(2)后面的是具体的进程信息

1.2.2 统计信息说明
1.2.2.1 第 1 行信息
(1)14:16:16 系统当前时间
(2)20:52 系统运行了多久
(3)4 users 系统当前登陆用户数
(4)load average: 0.00, 0.00, 0.00 系统平均负载
(
补充:
其中的三个数值分别代表:1,5,15 分钟的系统平均负载
单核处理器的情况下:0.00 代表 0 负载,1.00 代表满载,超过 1 代表超负荷
理想情况是:处理器的核心数 * 7 = 整个系统的理想负载
)

1.2.2.2 第 2 行信息
(1)Tasks: 393 total 总进程数
(2)1 running 正在运行的进程数
(3)392 sleeping 睡眠进程数
(4)0 stopped 停止进程数
(5)0 zombie 僵尸进程数

1.2.2.3 第 3 行信息
(
注意:
这一行默认是所有处理器核心加在一起的平均值,如果有 1 个核心那满值就是 100%,如果有 5 个核心那总值就是 500%
如果此时输入数字 1 ,则可以切换至每个单核处理器的负载情况
再输入数字 1,则可以再切换回来
)

(1)0.0 us 用户空间占用处理器的百分比
(2)0.0 sy 内核空间占用处理器的百分比
(3)0.0 ni 非实时的进程的优先级,取值范围为从 -20 到 19,数值越小优先级越高
(4)100.0 id 空闲的处理器的百分比
(5)0.0 wa 处理器等待输入输出的时间百分比
(6)0.0 hi 服务因硬件中断所消耗的时间百分比
(7)0.0 si 服务因软件中断所消耗的时间百分比
(8)0.0 st 虚拟机被物理机偷去的处理器时间百分比

1.2.2.4 第 4 行信息
(1)5848752 total 总物理内存量
(2)5709944 used 已经使用的物理内存量
(3)138808 free 剩余的物理内存量
(4)4960 buffers 用作内核缓存的内存量

1.2.2.5 第 5 行信息
(1)2103292 total 总交换分区量
(2)0 used 已经使用的交换分区量
(3)2103292 free 剩余交换分区量
(4)4507072 cached Mem 用作缓存的交换分区量

1.2.2 进程信息说明
(
补充:
(1)此时输入 f 可以选择要显示的信息
(2)将光标移动到对应信息
(3)此时输入 s 可以开启显示这一信息
(4)此时输入 d 可以关闭显示这一信息
(4)带 * 号的是已经选择要显示的信息
)

(1)PID(Process Id) 进程的 id
(2)USER(User Name) 进程所有者的用户
(3)PR(Priority) 优先级
(4)NI(Nice value) nice 值(负值表示高优先级,正值表示低优先级)
(5)VIRT(Virtual Image (kb)) 进程使用的虚拟内存量,单位 kb
(6)RES(Resident size (kb)) 进程使用的、未被换出的物理内存大小,单位 kb
(7)SHR(Shared Mem size (kb)) 共享内存大小,单位 kb
(8)S(Process Status) 进程状态,可以为 D R S T 和 Z

(补充:D 表示不可中断的睡眠状态,R 表示运行,S 表示睡眠,T 表示跟踪/停止,Z 表示僵尸进程)

(9)%CPU(CPU usage) 上上次更新到上次更新时进程处理器占用平均百分比

(注意:此值可能会超过 100% ,但不会超过:处理器总核心数 * 100% )

(10)%MEM(Memory usage (RES)) 上上次更新到上次更新时进程使用的物理内存百分比
(11)TIME+(CPU Time, hundredths) 进上上次更新到上次更新时进程使用处理器的总时间,单位 1/100 秒
(12)COMMAND(Command name/line) 命令名|命令行

内容二:top 命令选项
(1)-b 以批处理模式执行命令
(2)-c <交互命令> 在执行了 top 命令之后再直接执行交互命令
(3)-d < 时间> 屏幕刷新间隔时间
(4)-i 忽略失效过程
(5)-s 保密模式
(6)-S 累积模式
(7)-i <时间> 设置间隔时间
(8)-u <用户> 指定只显示某个用户的进程
(9)-p <进程号> 指定只显示某个 PID 的进程
(10)-n <次数> 指定显示循环的次数

内容三:top 交互命令(即是在键入了 top 命令之后再键入以下命令)
3.1 基础操作
(1)按 “1” 显示处理器所有核心的信息,每核显示一行,再按 “1” 则会取消
(2)按 “d/s” 修改刷新频率,单位为秒
(3)按 “h” 可显示帮助界面
(4)按 “n” 指定进程列表显示行数,默认显示能满屏的行数
(5)按 “q” 退出 top
(6)按 “f” 可以选择要显示的信息
(7)按 “k” 再按 <pid> 再按 <kill 的方式> 可以以某种方式删除某个 pid 的进程
(8)按 “r” 再按 <pid> 再按 <ni 值> 可以修改某个 pid 的 ni,取值范围为从 -20 到 19,数值越小优先级越高
(注意:只有 root 的取值范围才是 -20 到 19 ,普通用户的取值范围是 0 到 19)
(9)按 “esc” 退出 top 命令当前的子状态,如果没有子状态则不退出

3.2 面板隐藏显示
(1)按 “l” 隐藏/显示第 1 行总负载信息;
(2)按 “t” 隐藏/显示第 2~3 行处理器信息;
(3)按 “m” 隐藏/显示第 4~5 行内存信息;

3.3 进程列表排序
(1)按 “M” 根据使用内存的大小进行排序
(2)按 “P” 根据使用处理器的大小进行排序
(3)按 “T” 根据开启的时间进行排序

内容四:top 命令使用案例
# top -bn 1 #静态截取 CPU 的占用率