1、top命令功能简介

    top是Linux常用的性能分析工具,能够实时显示各个进程使用资源的情况。

2、top显示信息详解

[root@vms002 rh134]# top
top - 12:00:29 up 1 day,  1:11,  4 users,  load average: 0.00, 0.01, 0.11
Tasks: 504 total,   1 running, 503 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.3 sy,  0.0 ni, 99.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4033636 total,  2105296 free,   682480 used,  1245860 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used.  3062188 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                        
 58709 root      20   0  130412   2220   1276 R   0.7  0.1   0:00.06 top                            
   852 root      20   0  269016   4388   3536 S   0.3  0.1   1:38.79 vmtoolsd                       
  1996 jerry     20   0 1066404  24132  15144 S   0.3  0.6   0:03.18 gnome-settings-                
     1 root      20   0   60716   8164   2720 S   0.0  0.2   0:11.44 systemd

信息详解:

    1)第一行:top

12:00:29    #当前时间
up 1 day,  1:11,   #已运行时间
4 users,    #当前连接用户
load average: 0.00, 0.01, 0.11   #平均负载

    2)第二行:Tasks

504 total,   #当前运行的总进程数
1 running,    #正在运行的进程数
503 sleeping,   #挂起的进程数
0 stopped,    #停止的进程数
0 zombie    #僵尸进程数

    3)第三行:%Cpu(s)  有(s)表示有多个CPU

0.2 us,   #用户占用的CPU百分比
0.3 sy,   #系统占用的CPU百分比
0.0 ni,   #调整过优先级的进程占用CPU百分比
99.5 id,  #空闲时间占用CPU百分比
0.0 wa,   #等待(等待I/O输入输出)时间占CPU百分比
0.0 hi,   #CPU硬中断所耗费的时间总额
0.0 si,   #CPU软中断所耗费的时间总额
0.0 st    #被偷走的占用时间百分比

这里的CPU时间百分比是平均值,按1即可展开全部CPU的详细信息

    4)第四行:KiB Mem

4033636 total,   #物理内存总量
2105296 free,    #空闲物理内存
682480 used,     #已使用的物理内存
1245860 buff/cache    #缓冲/缓存 内存

    5)第五行:KiB Swap

4194300 total,   #交换区总量
4194300 free,    #空闲的交换区
0 used.       #已使用的交换区
3062188 avail Mem

    6)进程信息:

PID       #进程ID
USER      #进程的所有者
PR        #实时优先级(共140个级别)
NI        #优先级
VIRT      #进程使用的虚拟内存
RES       #进程使用的真实内存
SHR       #共享内存
S         #进程状态
%CPU      #进程的CPU占用率
%MEM      #进程的内存占用率
TIME+     #进程占用的总CPU时间片段
COMMAND   #进程名称

3、top其他的交互指令:

h|?   #帮助
M     #按内存的使用排序
P     #按CPU的使用排序
N     #以PID的大小排序
R     #对排序进行反转
r     #修改进程优先级
k     #杀死进程
s     #多长时间更新一次信息,秒为单位
f     #自定义显示字段
1     #显示所有CPU的负载
<     #向前
>     #向后
z     #彩色
W     #保存top环境设置~/.toprc
q     #退出

4、需要被监控的:

    1)top 中第一行的load average平均负载,需要被监控。命令如下所示:

[root@vms002 rh134]# top -bn1|head -1|awk -F: '{print $NF}'
 0.00, 0.01, 0.05

    2)第二行的Tasks也需要监控,监控是否有僵尸进程。命令如下所示:

[root@vms002 rh134]# top -bn1|sed -n '2,2p'|awk -F, '{print $NF}'
   0 zombie