服务器监控-TOP命令详解
用jmeter进行性能测试的时候,top命令是最方便可用的服务器监控命令,可以看出服务器的当前负载量,CPU占用率,内存占用率等重要信息,下面详细解说一下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:
- US:用户态CPU使用率
- SY:内核态CPU使用率
- ni:用户进程空间改变过优先级的进程CPU占用率
- id:空闲的CPU
- wa:等待输入输出IO使用CPU占比(wa:使用过高时,要考虑IO的性能是否有瓶颈,可以使用iostat,sar命令进一步分析)
- 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占用率的平均值。