1、top命令功能简介

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

2、top显示信息详解

[root@vms002 rh134]# toptop - 12:00:29 up 1 day,  1:11,  4 users,  load average: 0.00, 0.01, 0.11Tasks: 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 stKiB Mem :  4033636 total,  2105296 free,   682480 used,  1245860 buff/cacheKiB 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       #进程IDUSER      #进程的所有者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环境设置~/.toprcq     #退出

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