nmon结果说明及分析
使用nmon analyser生成的结果文件包含了N多个sheet页,下面只是结合个人经验对几个主要的页面图标进行一些分析介绍:
一、整体信息页面SYS_SUMM
1.折线图中蓝线为cpu占有率变化情况;粉线为磁盘IO的变化情况;
2.下面表各种左边的位磁盘的总体数据,包括如下几个:
- Avg tps during an interval:每个间隔时间内,平均每秒IO数,也可以理解为提交处理的次数
- Max tps during an interval:每个间隔时间内,每秒最大IO次数;
- Max tps interval time:最大传送次数出现的时间点;
- Total number of Mbytes read:整个监控时间内读的字节数;
- Total number of Mbytes written:整个监控时间内写的字节数;
- Read/Write Ratio:读写比率;
3.右边的为CPU的总体数据,可以获取如下信息;
- cpu被User/Sys/Wait所占百分比;
- cpu整体平均空闲率/占有率,以及最大的空闲率/占有率;
- cpu各项数据最大值和平均值的比率;
二、cpu各项详细的数据
1.CPU_ALL页面:该页面可以看到如下图的CPU整体上在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、CPU%以及CPUs(cpu个数)及对应图表;
2.CPU_SUMM页面:该页面可以看到如下图的各个CPU在总体数据,包括User%、Sys%、Wait%、Idle%以及对应图表;
3.cpu00x页面:这些页面可以看到各个CPU在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、CPU%以及对应图表;
三、磁盘各项信息数据
1、DISK_SUMM页面:记录各个监控时间点的磁盘读写和IO次数,以及一些计算值;如下图,包括下面一些详细信息:
- Disk Read KB/s:监控时间间隔内磁盘整体每秒读取字节数
- Disk Write KB/s:监控时间间隔内磁盘整体每秒写字节数
- IO/sec:监控时间间隔内磁盘整体平均每秒IO数
- 以及上面是哪个数据对应的Avg、WAvg和Max以及对应图表,WAvg公式如IF(B73=0,0,MAX(SUMPRODUCT(B2:B71,B2:B71)/SUM(B2:B71)-B73,0)),该数字不应该和AVG相差很大;
2、DISKBSIZE页面:详细记录了各监控时间点每个hdisk的磁盘块的大小,如我的服务器包括了sda、sda1、sda2、sda3以及dm-0、dm-1、dm-2、dm-3(dm是device mapper(设备映射))以及对应的Avg、WAvg和Max计算值;
3、DISKBUSY页面:详细记录了各监控时间点每个hdisk繁忙情况,包括的点同DISKBSIZE页面;
4、DISKREAD页面:详细记录了各监控时间点每个hdisk每秒读的子节数,包括的点同DISKBSIZE页面;
5、DISKWRITE页面:详细记录了各监控时间点每个hdisk每秒写的子节数,包括的点同DISKBSIZE页面;
6、DISKXFER页面:详细记录了各监控时间点每个hdisk每秒的IO次数,包括的点同DISKBSIZE页面;
四、内存详细信息
1.MENM页面:该页面包含了如下图各监控时间点内存各方面的信息数据和图表,主要信息如下:
- memtoatl:服务器总内存,单位M;
- swaptotal:虚拟总内存;
- memfree:剩余总内存;
- swapfree:剩余虚拟内存;
五、网络信息
1、Net页面:该页面包含了每个监控时间点各个网络适配器的读写等数据传输速率(千字节/秒),如我的服务器包括适配器有eth0和lo;
2、NETPACKET页面:该页面包含了每个监控时间点各个网络适配器读写包的数量;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ø Sys_summ页,为服务器资源使用率汇总
我们需求的主要数据为cpu,mem,io和net。如下图:
将以上内容,如实填写至测试报告中。
Ø Cpu_all页,是服务器cpu使用率的详细数据
我们主要关注的内容为下图
Cpu使用率分为三部分,系统、用户和等待,分别对应图中红色、蓝色和绿色部分。cpu使用率100%的情况,如果红色占大部分,说明系统进程本身占据大部分cpu资源,可考虑系统是否存在过多僵尸进程或者系统进程存在死循环等原因;如果蓝色占大部分,说明用户进程占用大量cpu资源,可考虑被压系统是否压力过大,或者被压系统存在大量运算等消耗cpu资源的操作。
Ø Mem页,是服务器内存使用率的概况。
图内蓝色线条为物理内存使用率,红色线条为虚拟内存使用率。我们统计的内存使用率为:(已用物理内存+已用虚拟内存)/(物理内存+虚拟内存)x100%。
Ø Memnew页,是服务器内存使用率的详细数据
我们重点关注下图:
图中蓝色部分为系统占用内存,紫色为进程占用内存,黄色为文件占用内存。假设出现内存使用率100%的情况,如蓝色+紫色部分较低,其余全是黄色部分,则说明系统存在大量文件操作,文件被写入内存以加速读写,不影响内存实际使用效率;如蓝色+紫色部分占90%以上,则说明内存使用率较高,需要结合page页综合分析是否存在内存泄露等问题。
Ø Page页,是交换空间的使用情况
pgin每秒钟所读入的页数,包括从文件系统读取的页数
pgout每秒钟所写出的页数,包括写到文件系统的页数
pgsin每秒钟从页面空间所读取的页数
pgsout每秒钟写到页面空间的页数
fsin分析器计算的数据为pgin-pgsin的图形处理所用
fsout分析器计算的数据为pgout-pgsout的图形处理所用
如果存在大量的频繁换入换出现象,则说明物理内存与虚拟内存之间存在频繁的切换,物理内存可能存在问题。
Ø Disk_SUMM页,磁盘
Disk Read 每秒读的千字节数目 图中为蓝色部分
Disk Write 每秒写的千字节数目 图中为红色部分
IO/sec 每秒进行的IO数(一次IO就是控制操作一次读或写,IO块就是读或写的大小),图中为上方黑色的线,报告中写的是这个参数的值
Ø Net页 网络
Total read 每秒接收到的千字节的数目,如图蓝色部分
Total write 每秒发送的千字节的数目,如图红色部分
网络=Total read-Total write
网络的指标一般要根据设备来确定,百兆网卡的意思是每秒能够传输的网络流量是100Mbps,即最大的下载速度是12.5MB/s,一般服务器是千兆网卡,即125MB/s
Ø Top页,是各种使用率的top事件
如下图,top页里记录了各个进程的cpu使用率,mem使用率,disk使用率以及net使用率。我们可以从图中轻松抓取到最占用cpu或者最占用mem的程序,为调优提供线索。