分享

AIX监视工具——nmon和topas

 liang1234_ 2016-03-26

         本篇博客介绍了AIX两款命令行工具——nmon和topas的基本功能。nmon是一款功能比较强大的系统监视工具,能够实时监视CPU、内存、磁盘、网络、内核的负载情况,还能够监视NFS、JFS文件系统的使用。topas是AIX提供的一款轻量级监视工具,部分功能与nmon重合偏重于核心数据的展示, nmon和topas两款工具可以相互切换,均可以与WLM相互调用,均属于文件集 bos.perf.tools 。要想看明白nmon的一些统计信息,需要了解AIX的一些内存管理、存储管理的基本概念,如page space,LPAR等。关于这些基本概念,请参考《AIX系统基本概念——内存管理》和《AIX系统基本概念——存储管理》。

          本文耗时8小时。实验环境为AIX 6.1 on IBM p6 520。nmon版本,topas版本。

一、nmon功能

         nmon是一款跨平台的、跨OS的系统性能监控工具,能够检测CPU、内存、网络、磁盘IO等诸多方面的实时参数。nmon起初是AIX平台的一款命令行监控工具,主要用于监控AIX服务器,而后移植到Linux系统下。nmon有一个特点是一般命令行工具所不具备——将统计逐句转化为图表。首先来看一下nmon工具的启动界面,现实当前系统的基本信息:

nmon-0

        按h键,现实系统的nmon的帮助菜单。看nmon的帮助的时候,横着看,一横行属于一类。nmon的使用比较直观,按一下快捷键显示相关信息,再按一下相关快捷键退出相关显示:

  • CPU实时信息,按小写c键
  • 内存实时信息,按小写m键
  • 网络实时信息,按小写n键
  • 磁盘实时信息,按小写d键

nmon-1

        先来个CPU、内存、网络、Disk集合,看看nmon都能显示那些信息:

nmon-2

        CPU、网卡、磁盘部分的统计信息比较好理解,不展开了,内存方面有不少概念与Linux系统不同,下面介绍nmon关于内存方面的统计信息。 内存部分有个Page Space的概念,是AIX的重要概念,官方翻译做“调页空间”。“调页空间”的概念详见第三节——概念介绍,总体上理解,paging space相当于Linux下的swap。 AIX中Paging Space大小确定的指导原则如下 ( AIX 中 Paging Space 使用率过高的分析与解决 ):

  • 系统实际内存小于64MB, paging space= 2 * RAM ;
  • 系统实际内存在 64MB to 256MB 之间, Page Space = RAM size + 16MB ;
  • 系统实际内存大于 256MB , Page Space = 512 + ( RAM - 256 ) * 1.25 ;
  • 当内存超过4GB时,则需要根据实际情况来定,一般可初始3GB, 然后观察paging space的使用情况,如果使用率超过70%, 则需要增加paging space 

        实际上,物理内存为4G,但是page space却设置为512M。

       另外,还有几个概念page相关的数据统计:

  • page scans,字面意思为“页面扫描”,具体不详。
  • page cycles,字面意思为“页面循环”,具体不详。
  • page steals,字面意思为“页面偷盗”,AIX专门有个进程叫做page stealing daemon,用于将不用的页换到swap。
  • page fault,缺页,查找TLB未能命中的次数。

        此处涉及到AIX系统内存管理的一些概念,暂时不展开,附件中的VMM Concepts中有一些描述,先过。

        内存部分还可以显示FileSystemCache,大体相当于Linux的Cache,只不过是专门供文件系统读写使用的。需要说明的很多,关于AIX内存的一些概念,需要单独列出一篇帖子去描述。

nmon还可以监视如下项目:

  • 按r键,显示系统资源信息
  • 按p键,显示LPAR信息

nmon-r-p

  • 按k键,显示内核资源信息
  • 按l键,以long term的方式显示CPU信息

nmon-k-l

  • 按M键,显示不同大小页的相关参数:

nmon-M

  • 按n键,显示网络接口统计信息
  • 按N键,显示NFS相关信息

nmon-n-N

  • 按P键,显示Page Space相关统计信息
  • 按D键,显示磁盘IO统计信息
  • 按o键,显示磁盘忙闲图
  • 按a键,显示磁盘Adapter统计信息
  • 按e键,显示ESS vpath统计信息
  • 按V键,显示VG卷组统计信息
  • 按^键,显示FC Adapter统计信息
  • 按O键,显示VIOS SEA统计信息

nmon-P-D-o-a-e-V-^-O

  • 按t键,相当于Linux的top

nmon-top

  • 按A键,显示异步IO统计信息

AIO

       当然,nmon还有很多其他功能,如按W键,显示WorkLoadManagment统计的相关负载信息,此处就不一一列出来了。 

二、topas 

        topas工具类似于Linux系统的top命令,但是比top命令强大。nmon和topas可以相互切换,通过“~”键。topas其实与nmon。在terminal中输入topas启动之,显示界面如下:

topas-1

        按h键显示topas的帮助项,基本与nmon相同

topas-2

        topas能够监视的信息没有超出nmon的范围,可能本身偏重于展示吧,能够将系统的全局信息,包括CPU、内存、磁盘、网络、文件系统、事件队列、文件等信息,排列在一个统一的界面上进行展示。topas可以通过大写的快捷键如W、L、D、E、C、G、F、T、V、M等,来开启单独的WLM面板、逻辑分区/cpu面板、磁盘面板、网络面板、Cross-LPAR面板、Cluster面板、文件系统面板、磁带面板、卷组面板、内存拓扑面板等字面板,此处就不详细展开了。 关于topas的详细介绍,可以参考参 topas命令详解  关于topas列出的一些参数的含义,如下所示:

EVENT/QUEUES:
Cswitch:在监控期间每秒钟内容转换的次数;
Syscall:在监控期间每秒钟运行系统呼叫的总次数;
Reads:在监控期间每秒钟运行读系统呼叫的次数;
Writes:在监控期间每秒钟运行写系统呼叫的次数;
Forks:在监控期间每秒钟运行派生系统呼叫的次数;
Execs:在监控期间每秒钟运行执行系统呼叫的次数;
Runqueue:等待处理器空闲以便运行的线程平均数;
Waitqueue:等待分页完成的线程平均数;

FILE/TTY
Readch:在监控期间通过读系统呼叫每秒钟读出的字节数;
Writech:在监控期间通过写系统呼叫每秒钟写入的字节数;
Rawin:在监控期间通过TTYs每秒钟读入的裸字节数;
Ttyout:在监控期间每秒钟写入TTYs的字节数;
Igets:在监控期间每秒钟到节点查找例行程序的呼叫数;
Namei:在监控期间每秒钟路径查找例行程序的呼叫数;
Dirblk:在监控期间通过目录搜索例行程序每秒钟扫描到的目录块数;

PAGING部分显示的是分页每秒钟次数的统计:
Faults:在监控期间每秒钟发生的分页错误总数;
Steals:在监控期间被虚拟内存管理器每秒钟偷走的物理内存4k的帧;
PgspIn:在监控期间每秒钟从分页空间中读取的4k分页数;
PgspOut:在监控期间每秒钟写入分页空间的4k分页数;
PageIn:在监控期间每秒钟读取的4k分页数,这包括从文件系统读操作相关的分页活动,从这个值减去PgspIn的值就是每秒钟从文件系统读操作相关的分页活动数;
PageOut:在监控期间每秒钟写入的4k分页数,这包括向文件系统写操作相关的分页活动,从这个值减去PgspOut的值就是每秒钟向文件系统写操作相关的分页活动数;
Sios:在监控期间通过虚拟内存管理器得到的I/O请求数;

Momory部分显示的是实际内存和在使用中的内存:
Real,MB:以M为单位的实际内存;
%Comp:当前分配给计算分页片断的内存占实际内存的百分比。计算分页片断由分页空间产生。
%Nocomp:当前分配非计算分页片断的内存占实际内存的百分比。非计算分页片断包括那些文件空间,数据文件、可执行文件、或者共享库文件。
%Client:当前分配给用来缓冲远程挂载文件的内存占实际内存的百分比。

PAING SPACE显示分页空间的大小和使用率:
Size,MB:系统里所有分页空间的大小,以M为单位;
%Used:当前使用的分页空间占总空间的百分比;
%Free:当前空闲的分页空间占总空间的百分比。

CPU工具:
User%:显示运行的用户程序所占用的CPU百分比;
Kern%:显示运行的内核程序所占用的CPU百分比;
Wait%:显示等待IO操作所占用的CPU百分比;
Idel%:显示CPU空闲的百分比。

网络接口:
Interf:网络接口的名称;
KBPS:在监控期间每秒钟通过的以M为单位的总流量,这部分包括每秒钟接收和发送的总和。
I-Pack:在监控期间每秒钟接收到的数据包数;
O-Pack:在监控期间每秒钟发送的数据包数;
KB-In:在监控期间每秒钟接收到的字节数(以K为单位);
KB-Out:在监控期间每秒钟发送的字节数(以K为单位)。

物理磁盘:
Disk:物理磁盘的名称;
Busy%:指明物理磁盘在活动状态的时间百分比;
KBPS:在监控期间每秒钟读写的字节数(以K为单位);
TPS:每秒钟物理磁盘的数据传输量。一次传输指的是一次I/O请求;
KB-Read:每秒钟从物理磁盘读出的K字节数;
KB-Write:每秒钟向物理磁盘写入的K字节数。

WLM(负载管理)类:
%CPU Utilization:CPU的平均利用率;
%Mem Utilization:内存的平均利用率;
%Blk I/O:块I/O的平均利用率;

进程:
NAME:可执行程序的名称;
Process ID:进程的ID号;
%CPU Utilization:进程的CPU平均使用率,这个值指的是进程在生命周期中的平均使用率;
Paging Space Used:分配给进程的分页空间大小;
Process Owner:拥有这个进程的用户名;
Workload Management(WLM)Class:进程属于哪个WLM class。

三、nomn_analyser

        nmon和topas导出的文件均可以使用nmon_analyser进行分析,生成图表。nmon_analyser是一个excel工具,可以从 IBM官方nmon_analyser站点 下载,在windows下运行,用于将nmon和topas生成的文件再二次生成图表。以nmon为例,操作如下:

        nmon -f -s 10 -c 60

        该命令表示以标准的输出文件的方式(-f)捕获数据,每10秒捕获1次,共捕获60次。最终生成标准的nmon数据文件:localhost_140422_1703.nmon。使用ftp等方式将nmon数据文件上传至windows系统下,启动nmon_analyser(用excel打开):

nmon_analyser-1

       点击analyse nmon data按钮,选择刚才使用ftp方式上传的nmon文件,nmon_analyser就是分析该数据文件,并且生成一个新的excel文件,也就nmon_analyser根据数据生成的图表:

nmon_analyser

四、概念介绍

(1)Paging Space

调页空间是具有已分配磁盘空间一种逻辑卷,它存储驻留于虚拟内存中但当前未被访问的信息。

此逻辑卷具有等同于页面调度的属性类型,并且通常简单地称为调页空间或交换空间。当系统中的可用 RAM 量很少时,将最近未使用的程序或数据从内存移动到调页空间以释放内存,供其他活动使用。

还有另一种调页空间可用,它可通过使用 NFS 服务器进行调页空间存储的设备来访问。为了 NFS 客户机访问此调页空间,该 NFS 服务器必须先创建一个文件并导出到该客户机。该文件大小代表该客户机的调页空间大小。

所需的调页空间的大小取决于在系统上执行的活动的类型。如果调页空间不足,那么可能会丢失进程,如果调页空间耗尽,那么系统可能会混乱。检测到调页空间不足的情况时,请定义附加调页空间。

通过创建新的调页空间逻辑卷或通过增大现有调页空间逻辑卷的大小来定义逻辑卷调页空间。要增大 NFS 调页空间的大小,必须通过该服务器上的正确操作来增大位于该服务器上的文件。

系统可用于页面调度的总空间是所有活动调页空间逻辑卷的大小之和。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多