linux服务器性能监控-nmon

Nmon 是一个分析aix和linux性能的免费工具,出自IBM,其采集的数据通过nmon_analyser生成报表

一、下载

二、运行和使用

本文以centos6操作系统为例。

1.启动nmon

将tar包上传至linux并解压,进入解压文件夹可看到如下内容:

[root@localhost nmon]# ls
AgentV200R001Linux64_20100401.tar.gz nmon_x86_fedora10 nmon_x86_rhel45 nmon_x86_sles10 nmon_x86_ubuntu810
MonitorAgent nmon_x86_opensuse10 nmon_x86_rhel52 nmon_x86_sles9

因为一些依赖包的关系,所以在使用nmon的过程中会遇到不同的问题,建议安装前先执行以下命令:

yum install glibc.i686 ncurses-devel.i686 redhat-lsb -y

接着启动该工具,在命令行执行

[root@localhost nmon]# ./nmon_x86_rhel52

效果如下

+nmon-12a------[H for help]---Hostname=localhost-----Refresh= 2secs ---08:35.46---------------+
| |
| ------------------------------ For help type H or ... |
| # # # # #### # # nmon -? - hint |
| ## # ## ## # # ## # nmon -h - full |
| # # # # ## # # # # # # |
| # # # # # # # # # # To start the same way every time |
| # ## # # # # # ## set the NMON ksh variable |
| # # # # #### # # |
| ------------------------------ |
| |
| Use these keys to toggle statistics on/off: |
| c = CPU l = CPU Long-term - = Faster screen updates |
| m = Memory j = Filesystems + = Slower screen updates |
| d = Disks n = Network V = Virtual Memory |
| r = Resource N = NFS v = Verbose hints |
| k = kernel t = Top-processes . = only busy disks/procs |
| h = more options q = Quit |
|--------------------------------------------------------------------------------------------|
| |

单个字母表示对应监控点的快捷键,只要输入相应的字母,即可显示相应的资源耗用情况,输入c、m、d后显示效果如下(显示了cpu、内存、磁盘的使用情况):

+nmon-12a------[H for help]---Hostname=localhost-----Refresh= 2secs ---08:40.30---------------+
| CPU Utilisation ---------------------------------------------------------------------------|
| +-------------------------------------------------+ |
|CPU User% Sys% Wait% Idle|0 |25 |50 |75 100| |
| 1 0.0 0.5 0.0 99.5| > | |
| +-------------------------------------------------+ |
| Memory Stats ------------------------------------------------------------------------------|
| RAM High Low Swap |
| Total MB 498.7 0.0 498.7 2016.0 |
| Free MB 229.3 0.0 229.3 2016.0 |
| Free Percent 46.0% 0.0% 46.0% 100.0% |
| MB MB MB |
| Cached= 91.3 Active= 137.0 |
| Buffers= 12.1 Swapcached= 0.0 Inactive = 82.8 |
| Dirty = 0.0 Writeback = 0.0 Mapped = 19.3 |
| Slab = 39.8 Commit_AS = 536.2 PageTables= 2.3 |
| Disk I/O -----(/proc/diskstats)--------all data is Kbytes per second-----------------------|
|DiskName Busy Read WriteKB|0 |25 |50 |75 100| |
|sda 0% 0.0 0.0| > | |
|sda1 0% 0.0 0.0|> | |
|sda2 0% 0.0 0.0| > | |
|dm-0 0% 0.0 0.0| > | |
|dm-1 0% 0.0 0.0|> | |
|--------------------------------------------------------------------------------------------|

具体的参数含义在这里就先不做介绍了,如果不理解,请读我前一篇文章。

2.如何使用nmon

[root@localhost nmon]# ./nmon_x86_rhel52 -fT -s 5 -c 5
[root@localhost zww]# ll | grep *.nmon
-rw-r--r--. 1 root root 16719 11月 9 08:57 localhost_161109_0857.nmon

输入命令后,将自动在当前目录生成一个 hostname_timeSeries.nmon 的文件(hostname 为当前见识的服务器的主机名)如: localhost_161109_0857.nmon。
命令的含义是,-f输出文件,-T输出最耗自愿的进程,-s收集数据的时间间隔,-c收集次数。

  • -s 5:每 5 秒进行一次数据采集
  • -c 5: 一共采集5次

如果想在后台运行nmon,可使用nohup:

[root@besttest zww]# nohup ./nmon_x86_rhel52 -fT -s 1 -c 10

问题来了,如果我们在做稳定性测试,系统需要持续监控12小时以上,那么我们生成的nmon文件就会非常大,会远远超出excel表格所能支撑的数据量,我们该怎么办?
解决方案是将nmon命令加入系统定时任务,分时段执行,这样生成的文件就不会太大。一般每小时生成一个nmon文件,1秒采样一次。

[root@localhost nmon]# vi /etc/crontab

在crontab中添加如下内容:

*   */1    *    *     *   ./tmp/nmon/nmon_x86_rhel52 -fT -s 1 -c 3600

/tmp/nmon是我的执行文件所在路径。

3.关闭nmon

若存在后台运行的nmon进程或未运行结束的nmon进程,可通过ps或top等其它命令将进程ID查出,然后通过kill -9 pid杀掉进程。

三、结果分析

在上面,我们通过配置定时任务生成了.nmon文件,在这里我们介绍如何转换结果文件以及转换出来的excel都包含了哪些内容。

1.结果文件转换

使用官方提供的nmon_analyser进行转换,下载地址如下:

将文件下载后,点击带有analyser的excel,点击 Analyse nmon data按钮,选择.nmon文件打开,即可开始转换,转换结束后生成excel文件。
tips:建议使用office excel,因为部分wps版本无法使用该analyser文件。在使用过程中一定要启用宏才可顺利装载和转换文件,office要在信任中心启用宏,而wps下载一个vba模块安装后才能启用宏,具体操作步骤请自行百度。
最终转换结果(部分)如下图所示:

 
SYS_SUMM
 
CPU_ALL
 
DISK_SUMM
 
MEM

2.指标含义

在转换成功之后,会有很多的表和很多的参数,是不是看到眼花?没关系,下面给大家贴出来,详细介绍了包括每个sheet的含义以及sheet中主要指标的含义。

  • nmon分析文件各sheet含义

     
    nmon分析文件各sheet含义
  • nmon分析文件详细指标详解

     
    nmon分析文件详细指标详解

看到这里,大家也发现了,对于这些表,如果逐个仔细的看是不切实际的,我们应该把握重点,找到关键点,顺着关键点往下看。比如在SYS_SUM中明显看到CPU高,那么之后我们关注的sheet应该是CPU 以及IO相关的sheet,查看到底是sys占用CPU高还是user占用CPU高,再顺着CPU和IO相关的这些表进一步分析,进一步查看对应的表格,以此类推,而不是全都看。

  • nmon关键指标列表

     
    nmon关键指标列表

3.小结

对于nmon,在掌握了它的结果文件中参数的含义之后,按照文中提供的分析思路,抓住关键点一步一步进行分析,进而能够确定系统层面所表现出来的瓶颈所在。至于更进一步的分析瓶颈出现的原因,那是后面的内容了,nmon的工作到这里就可以结束了。
此外,还有几点nmon的分析经验:

  • 在观察曲线变化时
    应关注一些有明显变化(很高或很低)的时间点,系统在做哪些操作,因为这可能是一个隐患,必须了解清楚。
  • 关于CPU
    多核CPU如果只有一个CPU使用率高,说明程序使用CPU不合理,需要调整。
  • 关于磁盘
    Disk %Busy 最好不要持续超过20%。
  • 关于网络
    首先默认性能测试是内网,其次加上现在的网卡、路由都是千兆万兆甚至更高级别的设备,默认不关注NET的表格,除非你所做的系统对网络的要求特别高,否则一般不必关注它。

linux ---性能监控(工具)的更多相关文章

  1. Linux 性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  2. [转]Linux性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  3. 超全整理!Linux性能分析工具汇总合集

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  4. (转)超全整理!Linux性能分析工具汇总合集

    超全整理!Linux性能分析工具汇总合集 原文:http://rdc.hundsun.com/portal/article/731.html 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望, ...

  5. Linux 性能分析 工具命令

    背景知识:具备背景知识是分析性能问题时需要了解的.比如硬件 cache:再比如操作系统内核.应用程序的行为细节往往是和这些东西互相牵扯的,这些底层的东西会以意想不到的方式影响应用程序的性能,比如某些程 ...

  6. Linux性能监控

    转自:http://blog.csdn.net/chosen0ne/article/details/8200737 linux性能监控,就是要监控系统的各个子系统是否正常.linux主要的子系统包括: ...

  7. pyDash:一个基于 web 的 Linux 性能监测工具

    pyDash 是一个轻量且基于 web 的 Linux 性能监测工具,它是用 Python 和 Django 加上 Chart.js 来写的.经测试,在下面这些主流 Linux 发行版上可运行:Cen ...

  8. Linux 性能监控之CPU&内存&I/O监控Shell脚本2

    Linux 性能监控之CPU&内存&I/O监控Shell脚本2   by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...

  9. Linux 性能监控之CPU&内存&I/O监控Shell脚本1

    Linux 性能监控之CPU&内存&I/O监控Shell脚本1   by:授客 QQ:1033553122   #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...

  10. linux性能监控 -CPU、Memory、IO、Network等指标的讲解

    [操作系统-linux]linux性能监控 -CPU.Memory.IO.Network等指标的讲解(转) 一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,Syst ...

随机推荐

  1. 分享七个绚丽夺目的JQuery导航(还有苹果、猪八戒等),有图有真相

    今天来一起看看几个个人觉得比较好的导航.有好几个导航是仿的,比如仿苹果.仿猪八戒等等,但仿得还都不错.也有不少是基于jQuery的.特别是像我这样的懒人,就可以在这些基础上修修改改作为自己网站项目的导 ...

  2. 敏捷开发方法XP的12个最佳实践

    极限编程(eXtreme Programming,简称XP)是一种轻量级.高效.低风险.柔性.可预测的.科学的软件开发方法,其特性包含在12个最佳实践中. 1.  计划游戏 ( Planning Ga ...

  3. 虚拟机配置Cognos报错CFG-ERR-0106

    在虚拟机中安装Cognos 之后,启动了好多次,都启动失败,如下图所示,错误如下图所示 已确保已下信息设置正确 1:内容库配置OK 2:Java_home OK 3:字符集OK ----------- ...

  4. [Node.js]30. Level 6: Listen 'Question' from client, and then Answer the Question

    Clients can also answer each other questions, so let's build that feature by first listening for the ...

  5. (LeetCode 21)Merge Two Sorted Lists

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...

  6. 如何使用Total Recorder录制网上的音乐,如何下载只能试听的歌曲

    1 在网上找到了对应的网站.其中正在播放的歌曲正是我们想要的 2 在地址栏输入上面音乐网站的网址,并点击捕获广播.(URL直接给出了音乐的完整地址,比如http://www.someserver.co ...

  7. 电脑PE系统工具

    自己收集的一些PE电脑维护工具 电脑店PE工具 http://u.diannaodian.com/ 通用PE工具箱 http://www.tongyongpe.com/ 大白菜PE工具 http:// ...

  8. 调整UIPickerView高度

    Advantages: Makes setFrame of UIPickerView behave like it should No transform code within your UIVie ...

  9. w3cschool菜鸟教程离线版chm手册正式发布

    w3cschool菜鸟教程是一个提供了最全的的web技术基础教程网站.网站包含了HTML教程.CSS教程.Javascript教程.PHP教程等各种建站基础教程.同时也提供了大量的在线实例,通过实例, ...

  10. 远程连接Ubuntu桌面配置

    1.打开终端:依次安装 sudo apt-get install xrdp sudo apt-get install vnc4server tightvncserver sudo apt-get in ...