服务监控-TOP命令详解

  • A+
所属分类:linux技术
摘要

用jmeter进行性能测试的时候,top命令是最方便可用的服务器监控命令,可以看出服务器的当前负载量,CPU占用率,内存占用率等重要信息,下面详细解说一下top命令里面的各个指标。

用jmeter进行性能测试的时候,top命令是最方便可用的服务器监控命令,可以看出服务器的当前负载量,CPU占用率,内存占用率等重要信息,下面详细解说一下top命令里面的各个指标。

服务监控-TOP命令详解

 top命令详解:

UP :时间格式为分,如上图表示已经运行1566天23小时49分钟。能够较好的反映当前系统的高可用性。

users:表示当前的用户数,如图表示6个用户登录该系统。

load average:表示服务器的负载情况,分别指1分钟,5分钟,15分钟内的负载量,

         load指标说明:

         load<0.7*processor(CPU线程数)  表示当前系统运行良好

        1*processor<load<3*processor,需要参考内存、CPU、网络和IO等指标

         load>5*processor 表示负载过大

         实时负载通过r+d来计算

Tasks:

          1、total :当前系统的总线程数

          2、running:当前系统正在运行的线程数

          3、sleeping:当前系统阻塞的线程数

CPU:

  1. US:用户态CPU使用率
  2. SY:内核态CPU使用率
  3. ni:用户进程空间改变过优先级的进程CPU占用率
  4. id:空闲的CPU
  5. wa:等待输入输出IO使用CPU占比(wa:使用过高时,要考虑IO的性能是否有瓶颈,可以使用iostat,sar命令进一步分析)
  6. hi:硬中断占用CPU百分比 
  • 可以使用命令查看硬件中断 cat /proc/interrupts > hil.txt;sleep 2;cat /proc/interrupts > hi2.txt  vimdiff hil.txt  hi2.txt
  • 也能使用/proc/interrupts > hil.txt;sleep 2;cat /proc/interrupts > hi2.txt  然后使用vim查看hi1.txt 然后切换到vim的命令行下vsplit hi2.txt
  • hi:使用率过高时,表示当前硬件中断占用很大的百分比。一般硬件中断可以分析文件/proc/interrupts,/proc/irq/pid/smp_affinity、服务irqbalance是否配置,以及CPU的频率设置,通过这些可以帮助系统打散优化系统的硬件中断

         7.si:软中断占用CPU百分比

  • 从网卡过来的数据包多(收发包多),如果si高则看网络收发包高的进程
  • Linux kernel通过一种软件的方法来模拟硬件中断模式,是为软中断。常见的一般软中断一般都是和网络相关,从网卡到IP层的数据报文收发都是由软件中断来处理的,长时间的写日志也可能产生软中断
  • 当软件中断出现瓶颈时,系统有个进程ksofttirqd,每个CPU都有自己对应的ksofttirqd/n(n为CPU的逻辑ID),每个ksofttirqd的内核线程都会去运行对应的ksofttirqd()函数来处理自己的中断队列上的软件中断,所以当网络出现阻塞的时候,软件中断程序ksofttirqd肯定出现瓶颈。可以通过ps命令查看进程ksofttirqd的使用信息  ps aux|grep ksofttirqd

         8.st:虚拟机使用CPU占用率。一个宿主机下存在多个虚拟机时,比较忙的虚拟机会抢占比较空闲的虚拟机资源

         9.CPU(S):CPU占用率的平均值。