一、概况
分析该服务器的操作系统、硬件、网络流量的使用情况。
二、内存
memory usage.png总内存空间为15.47GB,最大可用内存占比为69%,最小可用内存占比为51%,平均可用内存占比为63%.
三、Cpu
1、cpu利用率
cpu utlization.png
Cpu空闲率最小值为49.11%,用户态使用率最大值为48.85%,系统态使用率最大值为3.14%.
再结合近两周的cpu使用率来分析
cpu utlization.pngCpu空闲率最小值为85.51%,用户态使用率最大值为16.9%,系统态使用率最大值为1.74%.
说明:
CPU idle time:空闲的cpu时间比【简称id】
CPU user time:用户态使用的cpu时间比【简称us】
CPU system time:系统态使用的cpu时间比【简称sy】
CPU iowait time:cpu等待磁盘写入完成时间【简称wa】
CPU nice time:用做nice加权的进程分配的用户态cpu时间比【简称ni】
CPU interrupt time:硬中断消耗时间【简称hi】
CPU softirq time:硬中断消耗时间【简称si】
CPU steal time:虚拟机偷取时间【简称st】
其实这个数据就是在linux系统上使用top命令获取的:
2、cpu负载
CPU load.png单核cpu负载1分钟、5分钟、15分钟的负载,最大分别为2.75,0.94,0.53.(注意:2.75快接近于2.8了)(下面会详细说明为什么参考值是2.8)
再结合近两周的cpu负载来分析
CPU load.png单核cpu负载1分钟、5分钟、15分钟的负载,最大分别为0.32,0.12,0.06.
说明:CPU load提供了1分钟,5分钟,15分钟的单核CPU负载情况。
我们会发现,Zabbix提供的数据跟top命令输出的load avearge相差很大,这是因为top统计的是所有核数总的情况。
cpu load(Zabbix) * 核数 = load average(top)
Load Average是 CPU的 Load,它所包含的信息不是 CPU的使用率状况,而是在一段时间内 CPU正在处理以及等待 CPU处理的进程数之和的统计信息,也就是 CPU使用队列的长度的统计信息。
Load Average < CPU个数 * 核数 *0.7
比如1个1核CPU,Load Average < 1 * 1 * 0.7;1个4核的CPU,Load Average必须 < 1 * 4 * 0.7 = 2.8。
3、cpu jumps
cpu jumps.png进程线程切换率和每秒的中断次数在4月12日出现比较明显上浮波动。
再结合近两周的cpu jumps来分析
cpu jumps.png进程线程切换率和每秒的中断次数均比较小。
说明:
Context Switch Rate :就是Process(Thread)的切换,如果切换过多,会让CPU忙于切换,也会导致影响吞吐量。
中断和进程(包括线程)切换,一次中断(Interrupt)会引起一次切换,进程(线程)的创建、激活之类的也会引起一次切换。CS的值也和TPS(Transaction Per Second)相关的,假设每次调用会引起N次CS,那么就可以得出
Context Switch Rate = Interrupt Rate + TPS* N
CSR减掉IR,就是进程/线程的切换,假如主进程收到请求交给线程处理,线程处理完毕归还给主进程,这里就是2次切换。
也可以用CSR、IR、TPS的值代入公式中,得出每次事务导致的切换数。
因此,要降低CSR,就必须在每个TPS引起的切换上下功夫,只有N这个值降下去,CSR就能降低,理想情况下N=0,但是无论如何如果N >= 4,则要好好检查检查。
另外网上说的CSR<5000,我认为标准不该如此单一。
四、硬盘
Disk space usage.png磁盘已使用空间大约为9GB.
五、网络流量
network traffic.png这里观察峰值,入口流量为22.5Mb,出口流量为44.34Mb。在5月13日出现一个明显的上浮波动。
PS:
一、在linux中,也可以用vmstat查看r(Load Arerage),in(Interrupt)和cs(Context Switch)
vmstat.png二、Interrupt Rate包括内核由于进程的时间片中断。(系统不一样,内核不一样配置100、250的都有。
在 Linux 2.6 中,系统时钟每 1 毫秒中断一次时钟频率,用 HZ 宏表示,定义为 1000,即每秒中断 1000 次。)
内核的时钟频率可以通过如下命令知道
cat /boot/config-uname -r
| grep '^CONFIG_HZ='
CONFIG_HZ=250
CONFIG_HZ.png每秒总的时钟中断数就是 = cpu个数 * 核数 * CONFIG_HZ
比如1个1核CPU,每秒总的时钟中断数 = 1 * 1 * CONFIG_HZ;1个4核的CPU,每秒总的时钟中断数 = 1 * 4 * CONFIG_HZ。
三、中断的类型以及次数
cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
LOC: 97574747 52361843 105207680 69447653 Local timer interrupts
RES: 107368 257510 98635 186294 Rescheduling interrupts
CAL: 14174 14206 14164 194 function call interrupts
TLB: 1007949 853117 992546 591410 TLB shootdowns
四、linux监控命令
监控命令.png
参考引用:
https://blog.csdn.net/marising/article/details/5182771
https://blog.csdn.net/tianlesoftware/article/details/6198780
http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html
网友评论