知识库

标准化实施手册及常见错误


linux 性能监控工具- nmon

<p>[TOC]</p> <h2>1.认识nmon</h2> <ul> <li> <h4>简介</h4> <p>nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果</p> </li> <li> <h4>nmon可监控的数据类型</h4> <p>内存使用情况 磁盘适配器 文件系统中的可用空间 CPU使用率 页面空间和页面速度 异步I/O,仅适用于AIX 网络文件系统(NFS) 磁盘I/O速度和读写比率 服务器详细信息和资源 内核统计信息 消耗资源最多的进程 运行队列信息</p> </li> <li> <h4>特点</h4> <p>① 占用系统资源少(一般不到2%) ② 功能强大(监控数据类型全面) ③ 结合grafana之类的仪表图,可以更直观的实时展示所监控的数据 ④ 移植性、兼容性较好</p> </li> </ul> <h2>2.nmon下载安装</h2> <ul> <li> <h4>检查安装环境</h4> <p>查看操作系统信息: <code>uname -a</code> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/94fa8898e513a9ee37239383d9dc70b0" alt="" /></p> </li> <li> <h4>下载</h4> <p>根据查出的服务器信息选择版本: [点击下载nmon](<a href="http://101.69.243.254:5010/share/sO4SfErm">http://101.69.243.254:5010/share/sO4SfErm</a> &quot;点击下载&quot;) <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/671545ea59d9ece7a56c778078828dff" alt="" /></p> </li> <li> <h4>安装</h4> <p>创建一个nmon文件夹: <code>mkdir -p /risen/soft/nmon</code> 选择上传合适的nmon版本到文件夹: <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/330855e4c6f4dfb4bfc89635cb584720" alt="" /> 给工具授权: <code>chmod -R +x /risen/soft/nmon/</code></p> </li> </ul> <h2>3.运行nmon</h2> <ul> <li> <h4>完成上面的操作后,切换到工具目录:</h4> <p><code>/risen/soft/nmon/nmon_x86_64</code></p> </li> <li> <h4>出现如下界面,说明安装成功:</h4> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/af42f5d38f3fd2717005c003821c0982" alt="" /></p> </li> <li> <h4>常用快捷命令说明:</h4> <pre><code class="language-shell"># c 查看CPU相关信息 # m 查看内存相关信息 # d 查看磁盘相关信息 # n 查看网络相关信息 # t 查看相关进程信息 # h 查看帮助相关信息 # q 退出nmon</code></pre> <p>输入快捷命令显示结果如下: <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/ec2d6293a9e8e07ebc01549f530e47d2" alt="" /></p> </li> </ul> <h2>4.采集数据</h2> <ul> <li> <h4>nmon通过命令行启动监控,捕获服务器的各项数据</h4> <p>命令如下: <code>/risen/soft/nmon/nmon_x86_64 -s 10 -c 60 -f -m /risen/soft/nmon</code></p> <pre><code># 参数说明 -f 监控结果以文件形式输出,默认机器名+日期.nmon格式 -F 指定输出的文件名,比如test.nmon -s 每隔多少秒抽样一次,单位是秒,上述命令配置是10s -c 采样次数,上述命令配置是60,即监控总时长为10*60=600秒 -m 指定生成的文件目录</code></pre> <p>该命令执行后,会在/risen/soft/nmon目录下生成以hostname_YYYYMMDD_HHMM.nmon格式命名的监控文件,并将监控数据写入文件 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/9b7689c40230bf283cd57ff9052422de" alt="" /></p> </li> </ul> <h2>5.解析nmon文件</h2> <ul> <li> <h4>Nmon文件解析工具是nmon analyser</h4> <p>[点击下载nmon analyser解析工具](<a href="http://101.69.243.254:5010/share/xfQvgOyX">http://101.69.243.254:5010/share/xfQvgOyX</a> &quot;点击下载nmon analyser解析工具&quot;)</p> </li> <li> <h4>运行解析工具</h4> <p>获取工具后,无需安装双击<code>nmon analyser vxx.xlsm</code>格式的文件,即可<code>wps</code>打开工具界面,如图所示: <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/27489f488fcf64b51f5168195f5cc16a" alt="" /> 安全警告<code>“未安装VBA支持库,无法运行文档中的宏”</code>,[点击下载VBD支持库](<a href="http://101.69.243.254:5010/share/xfQvgOyX">http://101.69.243.254:5010/share/xfQvgOyX</a> &quot;点击下载VBD&quot;)</p> </li> <li> <h4>VBA支持库安装好之后再次打开,点击启动宏</h4> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/308272d28b0c39eb57946e67ad179412" alt="" /></p> </li> <li> <h4>解析处理nmon格式文件</h4> <p>点击【Analyze nmon data】,在windows文件选择框中选择待分析的nmon文件 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/c332ce46c2b84e79a9ed5cbee97c3af8" alt="" /> 等待分析处理完成后,会在生成nmon同名但后缀名为.xlsx的文件,后续分析在该xlsx文件中进行即可 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/d6d5d28711c6a7a2cd119ef7b4974007" alt="" /></p> </li> </ul> <h2>6.分析结果文件</h2> <p>通过nmon analyser工具,我们已经将nmon文件转换成xlsx格式的结果文件,打开结果文件,可以发现每个sheet页对应一个指标数据,一般在性能测试中,主要关注以下指标。</p> <ul> <li> <h4>系统汇总页面(SYS_SUMM):</h4> <p>该页面主要显示系统CPU(蓝线)和I/O(粉红线)的使用情况,其中坐标左纵轴为cpu(user%+sys%)使用率,横轴为运行时长,右纵轴为磁盘传输次数(Disk xfers),坐标图下方展示统计数据 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/3c6d3e3d6d7c777d81688918941c37a0" alt="" /></p> <pre><code>User%为用户进程的CPU占比 Sys%为系统和中断的CPU占比 Wait%为进程阻塞等待完成一次IO请求的CPU占比 Idle%为空闲CPU占比 通常,CPU被充分使用的经验值是:User%:65%-70%;Sys%:30%-35%;Idle%:0%-5%</code></pre> </li> <li> <h4>CPU使用情况(CPU_ALL、CPU_SUMM):</h4> <p>CPU_ALL页面展示在采样周期内服务器的CPU的使用情况,实际上,与SYS_SUMM展示的CPU数据是相同的,区别只是前者使用线状图表示 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/2969212643d6f7ed4a8a468be60b629b" alt="" /> CPU_SUMM页面展示的是每颗CPU的使用情况,与使用top命令,按数字键”1”显示各颗CPU的效果是一样的 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/eb8de759254e69576b9dc4e5f1151b74" alt="" /></p> </li> <li> <h4>磁盘使用情况(DISK_SUMM、DISKBUSY):</h4> <p>DISK_SUMM页面主要显示磁盘读、写、IO情况,其中,需要注意的是:某一时间点的磁盘读写数据(Disk Read KB/s\Disk Write KB/s)等于该时间点上所有磁盘和分区的Read/Write的速率(KB/s)之和,分别与页面DISKREAD、DISKWRITE对应;某一采集时间点的IO/sec等于页面DISKXFER中该时间点上所有磁盘和分区的IO/sec之和。因此,该时间点上的I/O值统计是会有重复的 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/92cee23b717b171ca2d68ca115000680" alt="" /> DISKBUSY页面主要显示各个磁盘及分区的繁忙程度,是磁盘使用时间和全部时间的比值,即磁盘有百分之多少时间是活动的。通常,根据该页面显示的磁盘百分比数据,可以快速了解该磁盘的使用情况 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/5e5cbc36349e9e9b817835df548d2531" alt="" /></p> </li> <li> <h4>内存使用情况(MEM):</h4> <p>MEM页面主要显示系统总内存、已用内存、可用内存、swap、cached等内存统计信息,统计单位为MB,图表左轴有个”千”字,单位换算后,memfree约23G <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/d464a94fbc224d0221c8f58b1ca646ac" alt="" /></p> </li> <li> <h4>网络使用情况(NET):</h4> <p>NET页面显示服务器各个网络适配器读写数据情况,单位KB/s,注意与带宽单位(bps)的换算,1MB/s = 8Mbps <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/6f052741f930c29bf067c19ccc49a233" alt="" /></p> </li> </ul>

页面列表

ITEM_HTML