zoukankan      html  css  js  c++  java
  • nmon性能监控工具总结

    一.nmon工具介绍

    nmon 是一个分析aix和linux性能的免费工具(主要是ibm为自己的aix操作系统开发的,但是也可以用在linux操作系统),而nmon_analyser是nmon的一个工具可以把nmon生成的报告转化成excel报表的形式供查看

    nmon 工具可以在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。它并不会消耗大量的 CPU ,通常低于百分之二

    下载地址:

    http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

    注意选择和自己机器对应的版本:

    linux查看系统版本号:

    1.对于linux系统而已,有成百上千个发行版。对于发行版的版本号查看方法

    如以centos为例。输入lsb_release -a即可

    该命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版

    2.

    3.

    查看系统位数

    同样对于Linux系统而言也有32和64位之分,用上述查看内核方法,输入

    uname -a  或 more /proc/version

    在内核版本后面会有一个X86_64就是表示64为系统啦

    # uname -a
    x86_64则说明你是64位内核, 跑的是64位的系统.
    i386, i686说明你是32位的内核, 跑的是32位的系统

    cat /etc/issue

    查看内核的几种方法:

    1. uname -a#显示详细的内核信息

    Linux localhost.localdomain 2.6.18-92.1.6.el5xen #1 SMP Wed Jun 25 12:56:52 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

    2. cat /etc/issue#显示版本类型

    Scientific Linux SL release 5.2 (Boron)
    Kernel on an m

    3. cat /proc/version

    Linux version 2.6.18-92.1.6.el5xen (brewbuilder@norob.fnal.gov) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)) #1 SMP Wed Jun 25 12:56:52 EDT 2008

    查看操作系统位数:

    1.ls / #如果有lib64或这个目录,那操作系统就是64位的
    2.getconfig LONG_BIT 若输出32即为32位系统,64为64位系统

    32位的系统中int类型和long类型一般都是4字节,

    64位的系统中int类型还是4字节的,但是long已变成了8字节。

    inux系统中可 用"getconf WORD_BIT"和"getconf LONG_BIT"获得word和long的位数。
    64位系统中应该分别得到32和64。

    3. uname -a中若为X86示意为64位系统,i386等位32位系统

    二.下载安装

    nmon默认下载之后只是一个可执行测的文件,但是下载时根据不同的系统来进行区分的

    大家可以根据自己的系统选择相应的版本。

    执行命令 cat /etc/issue 查看系统版本。

    二、工具安装

       1、下载nmon页面地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

       2、下载指定版本nmon到centos6X:wget  https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz

       3、解压:tar -zxvf nmon16d_x86.tar.gz,会有多个不同发行版的适用包

    首先将下载的nmon_x86_64_centos6文件上传到linux服务器上

    [root@localhost source]#cp nmon_x86_64_centos6 /usr/bin

    [root@localhost source]#cd /usr/bin

    [root@localhost source]# chmod 777 nmon_x86_64_centos6

    [root@localhost source]# ./nmon_x86_64_centos6(切换到nmon_x86_rhel45文件所在的目录)

    [root@localhost source]# env

    [root@localhost source]# mv nmon_x86_64_centos6 nmon

    [root@localhost source]# nmon(此时nmon就是全局命令)

    也有可能

    监控设置

    15分钟=900s

    #alias nmon15='nmon -f -s3 -c300 -m /root/qumf/'

    http://blog.51cto.com/icestick8586/1912060 

    nmon工具命令的使用:

    #nmon -s 300 -c 288 -f -m /tmp

    -s 300:表示每300秒采集一次数据,

    -c 288 :表示采集288次,300*288=86400秒,刚好是1天的数据,这样运行一次这个程序就会生成一个一天的数据文件,

    -m /tmp: 表示生成的数据文件的路径

    -f :表示生成的数据文件名中有时间

    也可以让其自动监控,每天一个文件夹,每小时一个文件,每分钟或5分采样一次

     

     

     

    参数解释:
    -s10 每 10 秒采集一次数据。
    -c60 采集 60 次,即为采集十分钟的数据。
    -f 生成的数据文件名中包含文件创建的时间。
    -m 生成的数据文件的存放目录。

     

    nmon -f -s 10 -c 60

    -f 表示生成的数据文件名中有时间;

    -s 10 表示每 10 秒采集一次数据;

    -c 60 表示采集 60 次,10*60=600 秒,

    刚好是 10分钟的数据,这样运行一次这个程序就会生成一个采集 10分钟数据的文件。该行命令将在当前目录中创建输出文件,其名称为:<hostname>_date_time.nmon", hostname" 是这台主机的主机名。

     

    更多用法
    crontab -e
    0 0 * * * /usr/local/nmo -s300 -c288 -f -m /home/nmon/ > /dev/null 2>&1
    表示:
    300*288=86400 秒,正好是一天的数据。
    0 8 * * 1,2,3,4,5 /usr/local/nmon -f -N -m /home/nmon/log -s 30 -c 1200
    表示:
    周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/home/nmon/log。

     

     

    范例1:

    自动按天采集数据:
    在 crontab 中增加一条记录:
    0 0 * * * nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1:
    300*288=86400 秒,正好是一天的数据。

    范例2:
    A、执行命令:#crontab -e
    B、在最后一行添加如下命令:
     0 8 * * 1,2,3,4,5 /nmon/scriptn/mon_x86_rhel52 -f -N -m /nmon/log -s 30 -c 1200
    表示:
     周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log

     

    三、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”查询进程号,然后杀掉该进程以停止监控。

     

    [root@localhost source]# hostname

    linux_test

    [root@localhost source]# ./nmon -f -s 10 -c 60

    [root@localhost source]# ps -ef | grep nmon

    root 17815 1 0 08:22 pts/1 00:00:00 ./nmon -f -s 10 -c 60

    root 17888 6977 0 08:22 pts/1 00:00:00 grep nmon

    [root@localhost source]# ls linux_test_120724_0822.nmon

    linux_test_120724_0822.nmon

    当我们执行相关命令后,就在当前目录生成了一个以本主机名linux_test开头,以执行日期为规则,nmon结尾的文件,并且我们通过ps命令会看到相关的nmon进程,这里我们当10分钟过去以后我们会发现相关nmon进程会消失的。

    linux_test_120724_0822.nmon 就是我们所生成的数据文件,所有的信息都在linux_test_120724_0822.nmon记录,而且我们通过more命令后发现都是我们看不懂的一些文本,这就需要我们把其转化成我们能看懂的excel格式的文件。首先我们把linux_test_120724_0822.nmon文件导出到我们的windows本地。然后我们从http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser

    下载nmonanalyser软件到windows本地。打开解压缩文件后,我们会发现2个文件,一个是nmonanalyse的说明word格式的说明稳定,另一个是excel格式的nmonanalyse文件。

    我们这里所需要的就是excel格式问文件,我们双击打开。

     

    四.生成图形化结果

    下载 nmon analyser (生成性能报告的免费工具):

    下载地址:

    https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/61ad9cf2-c6a3-4d2c-b779-61ff0266d32a/page/b7fc61a1-eef9-4756-8028-6e687997f176/attachment/721e9797-b5fc-41d7-9b2f-5bd2aa2c8f7d/media/nmon_analyser_34a.zip

     

    解压之后可以得到一个nmon analyser v34a.xls,

    双击打开nmon analyser v34a.xls;

    设置excel宏的安全级别调低
    选中上图中的选项,

    打开nmon_analyser中的excel,然后载入nmon数据,保存输出的excel即可。

     

     

    动态显示:

  • 相关阅读:
    jQuery radio的取值与赋值
    MVC中一般为什么用IQueryable而不是用IList?用IQueryable比IList好在哪?
    Git 的 .gitignore 配置
    XPath学习:轴(3)——descendant
    python遍历数组的两种方法
    selenium webdriver的各种driver
    Scrapy and Selenium
    scrapy和selenium结合抓取动态网页
    Python处理JSON
    Crontab定时任务配置
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4849055.html
Copyright © 2011-2022 走看看