AIX学习之NMON工具详解(2013-07-29)

2023-10-31 08:48
文章标签 工具 学习 详解 2013 29 07 aix nmon

本文主要是介绍AIX学习之NMON工具详解(2013-07-29),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

  监控,在检查系统问题或优化系统性能工作上是一个不可缺少的部分。通过操作系统监控工具监视操作系统资源的使用情况,间接地反映了各服务器程序的运行情况。根据运行结果分析可以帮助我们快速定位系统问题范围或者性能瓶颈点。

  nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。

nmon所记录的数据包含以下一些方面(也是我们在寻找问题过程中所关注的资源点):

 cpu占用率

内存使用情况

磁盘I/O速度、传输和读写比率

文件系统的使用率

网络I/O速度、传输和读写比率、错误统计率与传输包的大小

消耗资源最多的进程

计算机详细信息和资源

页面空间和页面I/O速度

用户自定义的磁盘组

网络文件系统

另外在AIX操作系统上,nmon还能监控到其他的一些信息,如异步I/O等。

关于这个工具的更加详细的说明请看IBM官方网站的说明:

1nmon工具:

http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/

2nmon analyser工具:

http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/


二、下载安装nmon

如何获取nmon呢?我们可以在IBM的官方网站上免费下载获取,下载网址为:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon

下载页面如下所示:

nmon的安装步骤如下:

1)用root用户登录到系统中;

2)建目录:

1
#mkdir /test

3)把nmonftp上传到/test,或者通过其他介质拷贝到/test目录中;

4)执行授权命令:

1
#chmod +x nmon



测试:

Nmon工具使用比较简单,nmon目录下,输入

1
. /nmon


   出现此画面,说明已安装成功。(这是AIX版本的画面,其他版本画面会稍有不同)

输入c可显示CPU的信息,“m”对应内存、“n”对应网络,“d”可以查看磁盘信息;“t”可以查看系统的进程信息;


以下为nmon的帮助页面:

使用单键命令来查看您所需要的数据。例如,要获取CPU、内存和磁盘统计信息,启动nmon 并输入:cm d

若需获取相关的帮助信息,按 h 键。

要需获取附加的帮助信息,可以尝试其他方法:

输入 nmon -? 命令可以获取简短的详细信息。

输入 nmon -h 命令可以获取完整的详细信息。


三、nmon数据采集

1、数据采集

为了实时监控系统在一段时间内的使用情况并将结果记录下来,我们可以通过运行以下命令实现:

1
#./ nmon -f -t -s30 -c 180

参数说明:

l-f:按标准格式输出文件:<hostname>_YYYYMMDD_HHMM.nmon

l-t:输出中包括占用率较高的进程;

l-s30:每30秒进行一次数据采集

l-c180:一共采集180

输入命令回车后,将自动在当前目录生成一个hostname_timeSeries.nmon的文件,nmon输出文件的命名方式是服务器名_日期时间.nmon

特别说明:

该命令启动后,会在nmon所在目录下生成监控文件,并持续写入资源数据,直至360个监控点收集完成——即监控1小时,这些操作均自动完成,无需手工干预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过“#psef|grepnmon”查询进程号,然后杀掉该进程以停止监控。


通过sort命令可以将nmon结果文件转换为csv文件:

1
# sort -A  hostname_timeSeries.nmon> hostname_timeSeries.nmon.csv

执行完sort命令后即可在当前目录生产hostname_timeSeries.nmon.csv文件。

2、生成图形化结果

为了分析nmon监控获得的结果,IBM还提供了相应的图形化分析工具nmon_analyser,通过nmonanalyser.xls工具可以把监控的结果文件转换成excel文件,方便分析系统的各项资源占用情况。

nmon_analyser工具的下载:

http://www-941.haw.ibm.com/collaboration/wiki/display/Wikiptype/nmonanalyser

nmon analyser.xls工具的使用方法如下:

1)打开nmonanalyser.xls工具;

2)调整excel宏安全性:工具--安全性

(如果报告以下宏的安全级别太高错误,则在工具-- --安全性里把级别调低,然后重新打开文件)


3)修改完后,确定-关闭nmonanalyser.xls,重新打开;

4)点击Analysernmon data 按钮,选择下载下来的.csv文件,然后就会转化成.excel文件,生成图形化的文件

   以上就是nmon的简单描述与使用介绍,大家可以根据自己所采集到的结果分析系统的情况。点击在EXCEL工具下的标签可以看见不同的性能报告,参考如下:

sheet名称

sheet含义

SYS_SUMM

系统汇总,蓝线为cpu占有率变化情况,粉线为磁盘IO的变化情况;

AAA

关于操作系统以及nmon本身的一些信息;

BBBB

系统外挂存储容量以及存储类型;

BBBC

系统外挂存储位置、状态以及描述信息;

BBBD

磁盘适配器信息;(包含磁盘适配器名称以及描述)

BBBE

包含通过lsdev命令获取的系统设备及其特征,显示vpathshdisks之间的映射关系;

BBBG

显示磁盘组详细的映射关系;

BBBL

逻辑分区(LPAR)配置细节信息;

BBBN

网络适配器信息;

BBBP

vmtune, schedtune, emstatlsattr命令的输出信息;

CPUnn

显示执行之间内CPU占用情况,其中包含user%sys%wait%idle%

CPU_ALL

所有CPU概述,显示所有CPU平均占用情况,其中包含SMT状态;

CPU_SUMM

每一个CPU在执行时间内的占用情况,其中包含user%sys%wait%idle%

DGBUSY

磁盘组每个hdisk设备平均占用情况;

DGREAD

每个磁盘组的平均读情况;

DGSIZE

每个磁盘组的平均读写情况(块大小);

DGWRITE

每个磁盘组的平均写情况;

DGXFER

每个磁盘组的I/O每秒操作;

DISKBSIZE

执行时间内每个hdisk的传输块大小;

DISKBUSY

每个hdisk设备平均占用情况;

DISKREAD

每个hdisk的平均读情况;

DISKWRITE

每个hdisk的平均写情况;

DISKXFER

每个hdiskI/O每秒操作;

DISKSERV

sheet显示在每个收集间隔中hdisk的评估服务时间(未响应时间)

DISK_SUMM

总体disk读、写以及I/O操作;

EMCBSIZE/FAStBSIZE

执行时间内EMC存储的传输块大小;

EMCBUSY/FAStBUSY

EMC存储设备平均占用情况;

EMCREAD/FAStREAD

EMC存储的平均读情况;

EMCWRITE/FAStWRITE

EMC存储的平均写情况;

EMCXFER/FAStXFER


EMCSERV/FAStSERV


ESSBSIZE

sheet记录在系统中每个vpaths下读写操作的平均数据传输大小(blocksize) Kbytes

ESSBUSY

sheet记录使用ESS系统的每个vpaths下的设备繁忙情况

ESSREAD

sheet记录在系统中每个vpaths下读取操作的  data rate (Kbytes/sec)

ESSWRITE

sheet记录在系统中每个vpaths下写入操作的  data rate (Kbytes/sec)

ESSXFER

sheet记录在系统中每个vpaths下每秒的IO操作

ESSSERV

sheet显示在每个收集间隔中vpaths的评估服务时间(未响应时间)

FILE

sheet包含nmon内核内部的统计信息的一个子集,跟sar报告的值相同

FRCA


IOADAPT

对于BBBCsheet每个IO适配器列表,包含了数据传输速度为读取和写入操作(千字节/秒)和I / O操作执行的总数量

JFSFILE

sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的空间百分比

JFSINODE

sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的inode百分比

LARGEPAGE

本图表显示UsedpagesFreepages随着时间的变化

LPAR


MEM

sheet主图上显示空闲实存的数量

MEMUSE

  %comp参数外,sheet包含的所有项都和vmtune命令的报告中一样

MEMNEW

sheet显示分配的内存片信息,分三大类:用户进程使用页,文件系统缓存,系统内核使用页

NET

sheet显示系统中每个网络适配器的数据传输速率(千字节/秒)

NETPACKET

sheet统计每个适配器网络读写包的数量;这个类似于netpmon –O dd 命令

NFS sheets


PAGE

sheet统计相关页信息的记录

PROC

sheet包含nmon内核内部的统计信息。其中RunQueueSwap-in域是使用的平均时间间隔,其他项的单位是比率/

PROCAIO

sheet包含关于可用的和active的异步IO进程数量信息.

TOP


UARG


WLM sheets


ZZZZ

sheet自动转换所有nmon的时间戳为现在真实的时间,方便更容易的分析


关于NMON命令与语法更加详细的命令请看下面的页面:

http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aixNaNds%2Fdoc%2Faixcmds4%2Fnmon.htm


相关参考资料:

1NmonIBM的官方网站

http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon

2nmon for linux的官方网站

http://nmon.sourceforge.net/pmwiki.php

3、文章一:《nmon 性能:分析 AIX Linux 性能的免费工具》

http://www.ibm.com/developerworks/cn/aix/library/analyze_aix/

4、文章二:《nmon analyser——生成AIX 性能报告的免费工具》

http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/index.html


说明:以上截图来源网络,但不影响理解和分析

这篇关于AIX学习之NMON工具详解(2013-07-29)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/314166

相关文章

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

SQL Server 中的 WITH (NOLOCK) 示例详解

《SQLServer中的WITH(NOLOCK)示例详解》SQLServer中的WITH(NOLOCK)是一种表提示,等同于READUNCOMMITTED隔离级别,允许查询在不获取共享锁的情... 目录SQL Server 中的 WITH (NOLOCK) 详解一、WITH (NOLOCK) 的本质二、工作

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原