• 性能监控和分析工具---nmon


    性能监控和分析工具---nmon

    一、简介

    nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。这个高效的工具可以工作于任何哑屏幕、telnet 会话、甚至拨号线路。另外,它并不会消耗大量的 CPU 周期,通常低于百分之二。在更新的计算机上,其 CPU 使用率将低于百分之一。使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段。如果您拉伸窗口,并在X Windows、VNC、PuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。 nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形,输出文件采用电子表格的格式。

    nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:

    • CPU 使用率

    • 内存使用情况

    • 内核统计信息和运行队列信息

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

    • 文件系统中的可用空间

    • 磁盘适配器

    • 网络 I/O 速度、传输和读/写比率

    • 页面空间和页面速度

    • CPU 和 AIX 规范

    • 消耗资源最多的进程

    • IBM HTTP Web 缓存

    • 用户自定义的磁盘组

    • 计算机详细信息和资源

    • 异步 I/O,仅适用于 AIX

    • 工作负载管理器 (WLM),仅适用于 AIX

    • IBM TotalStorage? Enterprise StorageServer? (ESS) 磁盘,仅适用于 AIX

    • 网络文件系统 (NFS)

    • 动态 LPAR (DLPAR) 更改,仅适用于面向 AIX 或 Linux 的 pSeries p5 和 OpenPower 还包括一个用来从 nmon 的输出生成图形并创建可以在 Web 站点显示的 .gif 文件的新工具。

    二、工具获取

    下载地址:

    http://sourceforge.jp/projects/sfnet_nmon/releases/ 或者直接从这获取,还包含分析工具。可下载比较全的压缩包:

    nmon_linux_14i_newer_Linux_versions.tar.gz

    官方地址:http://nmon.sourceforge.net/

    三、使用

    1.解压并获取以对应平台的nmon工具文件: nmon_linux_14i_newer_Linux_versions.tar.gz

    解压后,可以看到各个平台的文件,我们只需要使用适合的即可,一般是nmon_linux_x86_64。

    2. 将nmon工具文件上传至服务器的相应目录并增加可执行权限

    a. 上传成功后:

    b. 增加可执行权限:

    chmod 755 nmon_linux_x86_64

    3. 使用nmon工具的实时监控功能

    输入./ nmon_linux_x86_64 即可打开实时监控,刚下载的工具似乎没有依赖的包无法使用。。。

     

    那我还是用服务器原本配置好的工具:nmon_x86_rhel54,输入./ nmon_x86_rhel54 即可看到如下画面:

    执行./nmon_x86_rhel54,可以看到“Use these keys to toggle statistics on/off”提示,根据需要输入对应key;也可以输入“h”打开帮助页面。通常输入c或者l、m、n、d、t,可以监控系统cpu,内存,网络,磁盘,以及列出消耗CPU最高的进程,这些是我们通常监控的信息。再次输入对应的key表示收起该监控信息。

     

    4. 其他选项,可以通过-? 或-h获取工具的帮助信息

     

    -?用于获取简短帮助信息

    -h用于获取详细帮助信息

    四、数据采集

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

    $./nmon_x86_rhel54 -ft -s 30 -c 10
    
    -f:按标准格式输出文件:<hostname>_YYYYMMDD_HHMM.nmon;
    
    -t:输出中包括占用率较高的进程;
    
    -s 30:每30秒进行一次数据采集
    
    -c 10:一共采集10次

    输入命令回车后,将自动在当前目录生成一个hostname_timeSeries.nmon的文件,如果hostname为svcpreapp01,生成的文件为:svcpreapp01_151221_1738.nmon,如下:

    五、生成报告

    生成的文件通过ftp工具或命令传输到本地,使用nmon analyser工具进行解析,可生成可读性较高的excel文件。

    nmon_analyser工具下载地址:

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

    目前最新的为4.6版本,下载包中包含了说明文档:

     

    1.打开工具文件

    2.点击“Analyse nmon data”,选定需要解析的nmon文件,解析完成后工具自动生成以nmon文件名命名的xlsx的文件,如下:

    3. 解析完成后可关闭工具文件nmon_analyser_v34a.xls,直接使用分析结果文件即可。如下表示分析完成:

    六、nmon结果文件分析

    nmon文件解析出来之后生成的excel表格,有几十个sheet;下面就这些sheet所列指标的含义进行分析。

    常用指标分析

    监控操作系统,最关注的几个指标分别是CPU、内存、磁盘IO、网络等。下面对几张关键图表进行分析。

    1. CPU_ALL:所有CPU概述,显示监控系统所有CPU的平均占用情况,包含User/Sys/Wait/Idle状态
    a. User%,用户模式下执行的程序所使用的CPU百分比
    
    b. Sys%,内核模式下执行的程序所使用的CPU百分比
    
    c. Wait%,等待 IO 所花的时间百分比
    
    d. Idel%,CPU的空闲时间百分比,此值和User%,Sys%,Wait%之和等于1
    
    e. CPU%,CPU总体占用情况,这个值通常等于User%+Sys%+Wait%
    
    f. CPUs,CPU核数,即操作系统是多少C的

    2. DISK_SUM:总体disk读、写以及I/O操作
    a. Disk Read KB/s ,每个磁盘执行采样数据(磁盘设备的读速率)
    
    b. Disk Write KB/s ,每个磁盘执行采样数据(磁盘设备的写速率)
    
    c. IO/sec,每秒钟输出到物理磁盘的传输次数

    3. DISKBUSY:每个hdisk设备平均占用情况

    单位为%(百分比)

    4. MEM:内存使用情况描述,包括物理内存和虚拟内存

    a. memtotal,物理内存总大小
    
    b. swaptotal,虚拟内存(即交换空间)的总大小
    
    c. memfree,剩余物理内存大小
    
    d. swapfree,剩余虚拟内存大小
    
    e. cached,已占用的文件系统缓存大小,由物理内存分配
    
    f. buffers,文件系统缓冲区大小
    
    g. swapcached,虚拟内存中已分配出来的内存大小
    
    h. inactive,最近不常使用的内存大小

    5. NET:系统中每个网络适配器的数据传输速率(千字节/秒)

    a. Total-Read,网络适配器每秒接收的数据包总大小,单位是KB/sec
    
    b. Total-Write (-ve),网络适配器每秒发送的数据包总大小,单位是KB/sec
    
    c. eth0-total,网络适配器每秒接收和发送的数据包总大小,单位是KB/sec

     

    其他指标图表

    Sheet名称描述
    SYS_SUMM 系统汇总,蓝线为cpu占有率变化情况,粉线为磁盘IO的变化情况;
    AAA 关于操作系统以及nmon本身的一些信息;
    BBBP vmtune, schedtune, emstat和lsattr命令的输出信息;
    CPUnn 显示执行之间内CPU占用情况,其中包含user%、sys%、wait%和idle%;
    CPU_SUMM 每一个CPU在执行时间内的占用情况,其中包含user%、sys%、wait%和idle%;
    DISKBSIZE 执行时间内每个hdisk的传输块大小;
    DISKREAD 每个hdisk的平均读情况;
    DISKWRITE 每个hdisk的平均写情况;
    DISKXFER 每个hdisk的I/O每秒操作;
    JFSFILE 本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的空间百分比
    NETPACKET 本sheet统计每个适配器网络读写包的数量
    PROC 本sheet包含nmon内核内部的统计信息。其中RunQueue和Swap-in域是使用的平均时间间隔,其他项的单位是比率/秒
    ZZZZ 本sheet自动转换所有nmon的时间戳为现在真实的时间,方便更容易的分析
  • 相关阅读:
    ES基础(五)使用分析器进行分词
    ES基础(四)倒排索引入门
    ES基础(三)文档的基本 CRUD 与批量操作
    ES基础(二)基本概念(2):节点,集群,分片及副本
    ES基础(一)基本概念1索引文档和RESTAPI
    Flink实战(113):FLINK-SQL应用场景(14)Flink SQL FileSystem Connector分区提交与自定义小文件合并策略
    Flink实战(112):FLINK-SQL应用场景(13)FileSystem SQL Connector
    Flink实战(111):FLINK-SQL应用场景(12)Flink 与 hive 结合使用(八)Hive Streaming 实战解析
    gdb qemu
    ioctl(TUNSETIFF): Device or resource busy
  • 原文地址:https://www.cnblogs.com/lizhewei/p/13895461.html
Copyright © 2020-2023  润新知