Nmon服务器性能结果报告分析

nmon是一款开源性能监控工具,用于监控linux系统的资源消耗信息,并能把结果输出到文件中,然后通过nmon_analyser工具产生数据文件与图形化结果。因为它免费,体积小,安装简单,耗费资源低,广泛应用于AIX和Linux系统。

一、nmon下载

我们在下载前首先查看Linux系统内核版本,因为不同的Linux版本,Nmon对应的版本也不同,Linux版本必须Nmon版本一一对应

1.查看Linux内核方法一

[mrjade@localhost nmon16d]$ cat /proc/versionLinux version 5.3.0-28-generic (buildd@lcy01-amd64-009) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020

内核版本5.3.0-28-generic

2.查看Linux内核方法二

[mrjade@localhost nmon16d]$ uname -a Linux linux 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

5.3.0-28-generic –内核版本

3.查看Linux内核方法三:直接问开发或者运维,简单粗暴

4.下载地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

  

二、nmon命令

./nmon_x86_64_centos7 -f -s 10 -c 60 -m ./log/ 

命令的含义是: -f :按标准格式输出文件名称:<hostname>_YYYYMMDD_HHMM.nmon -t :输出最耗资源的进程 -s :每隔n秒抽样一次,这里为10秒 -c :取出多少个抽样数量,这里为采集 60 次,即监控 = 10*60 = 600秒 = 10分钟-m : 报告输入路径 nmonreport:监控记录的标题 hostname:主机名 

三、nmon性能结果报告分析

1.下载nmon analyser(用于将Nmon采集的数据转换成可视化图表)

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

 

2.双击打开nmon analyser v61.xlsm,切记不要用WPS,因为WPS不支持宏,点击Analyze nmon data按钮,,选择.nmon文件

3|1(1)SYS_SUMM【服务器资源使用率汇总】

服务器资源使用率汇总表:整体信息页面,显示当前服务器的总体性能情况
  • 【正上方】Samples、First、Last:采集点样本统计。
Samples:采集点样本总数,折线图中出现的采集点统计总数。 First:第一个采集点的采集时间。 Last:最后一个采集点的采集时间。
  • 【正中间】折线图:[蓝线:CPU%]为cpu占有率变化情况;[紫线:IO/sec]为磁盘IO的变化情况。
IO/sec:[紫线]仅显示磁盘IO/sec的图,不包括Network的I/O。每秒钟输出到物理磁盘的传输次数。
  • 【左下角】Disk tps statistics:磁盘的总体数据,包括如下几个: 
1、Avg tps during an interval: 显示采集间隔内磁盘平均I/O次数,该值等于Sheet DISK_SUMM中IO/sec列的平均值。 每个间隔时间内,平均每秒IO数,也可以理解为提交处理的次数。 2、Max tps during an interval: 显示采集间隔内磁盘最大I/O次数,该值等于Sheet DISK_SUMM中IO/sec列的最大值。 每个间隔时间内,每秒最大IO次数。 3、Max tps interval time: 显示磁盘最大I/O所在时间点。 最大传送次数出现的时间点。 4、Total number of Mbytes read: 显示采集间隔内磁盘读的总兆字节数,可能是nmon的bug,该值并不准确,并且使用LVM划分的虚拟磁盘可能会存在重复统计。 整个监控时间内读的字节数。 5、Total number of Mbytes written: 显示采集间隔内磁盘写的总兆字节数,该值并不准确,理由同上。 整个监控时间内写的字节数。 6、Read/Write Ratio: 显示 Total number of Mbytes read/ Total number of Mbytes written 的值。 实时读写比率。
  • 【右下角】CPU:CPU的总体数据,包括如下几个: 
// ********************* 橫行:CPU各项指标 **************************** // 1、User%:显示采集间隔内所有CPU在User Mode下的Time占比。 2、Sys%:显示采集间隔内所有CPU在System Mode下的Time占比。 3、Wait%:显示采集间隔内所有CPU处于空闲且等待I/O完成的时间比例。 4、Idle%:CPU空闲率,显示采集间隔内所有CPU处于空闲Time的占比。 5、CPU%:cpu占有率,显示采集间隔内所有CPU的(user%+system%)占比和。 // ****************** 纵列:CPU各项指标数据中的特殊值 ******************* // 1、Max:cpu各项指标数据中的最大值。 2、Avg:cpu各项指标数据中的整体平均值。 3、Max:Avg:cpu各项指标数据的最大值和平均值的比率。
1、Wait% 是 CPU 空闲状态的一种,当CPU处于空闲状态而又有进程处于 D 状态(不可中断睡眠)时, 系统会统计这时的时间,并计算到Wait%里。 2、Wait% 不是一个时间值,而是时间的比例,因此在同样 I/O Wait 时间下: 服务器 CPU 越多,Wait% 越低,它体现了 I/O 操作与计算操作之间的比例。 3、对 I/O 密集型的应用来说一般 Wait% 较高,且 Sheet PROC 中 Blocked 也较高, 这时需关注是什么导致了过多的进程等待。

3|2(2)MEM

1.内存(MB)报表:本 sheet 主图上显示空闲实存的数量

1、在 MEM 表里面使用如下公式计算出每行的内存使用率并进行取平均: (Memtotal - Memfree - cached - buffers)/Memtotal  * 100 即 =(C2-G2-L2-O2)/C2*100 统计后手动绘制拆线图,如
2、通过分析内存使用率的趋势,可定位是否内存泄露情况。 3、有人看到内存使用率是 99%,就认为内存用满了,并没有区分内存分页是什么类型,这样武断的说内存用满了是不科学的。 4、在 AIX 上主要关注的是计算内存占整个物理内存的百分比,linux 上主要关注的是 active 内存占整个物理内存的百分比。

2.图表说明:

 

3|3(3)CPU

Cpu使用率分为三部分,系统、用户和等待,分别对应图中红色、蓝色和灰色部分。 cpu使用率100%的情况,如果红色占大部分,说明系统进程本身占据大部分cpu资源,可考虑系统是否存在过多僵尸进程或者系统进程存在死循环等原因;如果蓝色占大部分,说明用户进程占用大量cpu资源,可考虑被压系统是否压力过大,或者被压系统存在大量运算等消耗cpu资源的操作。

 

posted @ 2021-11-17 16:05  数据库集中营  阅读(197)  评论(0编辑  收藏  举报