nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具, nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。nmon工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。并且,nmon运行不会占用过多的系统资源,通常情况下CPU利用率不会超过2%。在更新的计算机上,其CPU使用率将低于百分之一。

针对不同的操作系统版本,nmon有相应版本的程序,需要注意的是该文件需要执行授权操作方可正常运行。官网下载地址: http://nmon.sourceforge.net/pmwiki.php

nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:
CPU 使用率
内存使用情况
内核统计信息和运行队列信息
磁盘 I/O 速度、传输和读/写比率
文件系统中的可用空间
磁盘适配器
网络 I/O 速度、传输和读/写比率
页面空间和页面速度
CPU 和 AIX 规范
消耗资源最多的进程
IBM HTTP Web 缓存
用户自定义的磁盘组
计算机详细信息和资源
异步 I/O,仅适用于 AIX
工作负载管理器 (WLM),仅适用于 AIX
IBM TotalStorage® Enterprise Storage Server® (ESS) 磁盘,仅适用于 AIX
网络文件系统 (NFS)
动态LPAR (DLPAR)更改,仅适用于面向AIX或Linux的pSeries p5 和OpenPower

实际工作中,nmon有三种常用的使用模式,分别是实时监控、后台监控和定期监控模式。下面分别加以介绍

1、实时监控:在完成配置后,只需要“#./nmon”命令即可运行程序,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键“H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据实时刷新,一目了然。但是如果我们希望将一段时间的资源情况记录下来,以备后续的分析工作,则需要以另一种方式使用nmon。

2、后台监控:为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令:./nmon -f -s 10 -c 360。说明:

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

Ø -s :每隔n秒抽样一次,这里为10秒

Ø -c :取出多少个抽样数量,这里为360,即监控=10*360/3600=1小时

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

3、定期监控:除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控可通过“#crontab -e”命令实现,在最后一行添加“0 8 * * 1,2,3,4,5 /nmon -f-s 30 -c 1200”,表示:周一到周五,从早上08点开始,监控10个小时(到18:00整为止)。

下载/安装

  • Ubuntu:sudo apt-get install -y nmon
  • CentOS:sudo yum install -y nmon,前提是你已经有安装 epel 源
    • 或者使用 RPM 包:http://pan.baidu.com/s/1hsFEoeg

      • 安装命令:rpm -ivh nmon-14i-8.el6.x86_64.rpm
  • 分析工具 nmon analyser:http://pan.baidu.com/s/1pKBLXrX

运行

  • 实时监控:nmon
  • 后台监控:cd /opt ; nmon -f -s 10 -c 360
    • 前面的 cd /opt 表示,进入 opt 目录,nmon 生成的文件是在当前目录下。
    • -f :按标准格式输出文件名称:_YYYYMMDD_HHMM.nmon
    • -s :每隔n秒抽样一次,这里为10秒
    • -c :取出多少个抽样数量,这里为360,即监控=10*360/3600=1小时
    • 该命令启动后,nmon 会在当前目录下生成监控文件,并持续写入资源数据,直至360个监控点收集完成——即监控1小时,这些操作均自动完成,无需手工干预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过 ps -ef | grep nmon 查询进程号,然后杀掉该进程以停止监控。
  • 定期监控:本质是 crontab 加上后台监控命令

解析监控文件

  • 把 nmon 文件转换成 csv 文件:sort localhost_120427_0922.nmon > localhost_120427_0922.csv
  • 把 csv 转换成 Excel 图表文件:
    • 打开 nmon analyser 分析工具:nmon analyser v50_2.xlsm

      • 点击 Analyse nmon data 会弹出一个弹出框,选择刚刚转换的 csv 文件,然后就会自动再转化成 excel 文件
  • 导出的综合报表的参数说明:http://www.51testing.com/html/25/15146625-3714909.html

转载于:https://www.cnblogs.com/fusheng11711/p/11168249.html

Linux基础监控小工具nmon相关推荐

  1. 推荐几个Linux命令行下性能监控小工具

    原文链接 在Linux中,CPU,内存等系统状态可以通过top命令查看,或者用图形界面的工具,如gnome-system-monitor.但是,有时候,想知道更详细的信息,比如说进程树之类的,网络具体 ...

  2. <<Linux基础环境常用工具—yum、vim、gcc/g++、gdb、git等>>

    Linux基础环境常用工具-yum.vim.gcc/g++.gdb.git等. 1.软件包管理器: yum 2.编辑器:vim 3.编译器:gcc/g++ 4.调试器:gdb 5.项目自动化构建工具: ...

  3. 利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具

    利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具 独立观察员 2020 年 12 月 26 日 前一段看到微信公众号 "码农读书" 上发了一篇文章&l ...

  4. Memcache监控小工具stats命令

    1.美图 2.概述 这里介绍memcache自带的监控小工具stats命令,可以监控基本的memcache信息,像服务器信息,内存分配数据等 3.stats 显示服务器信息.统计数据等 (base) ...

  5. Linux基础入门--网络工具--usb_modeswitch

    Linux基础入门--网络工具--usb_modeswitch 1.概述 2.语法 3.选项 1.概述 控制"多状态"USB设备的模式.一些新的USB设备有他们的专有Windows ...

  6. Linux系统运行时参数命令--Linux基础命令和工具

    目录 1 Linux基础命令和工具 1.1 grep搜索字符 1.2 find查找文件 1.3 ls显示文件 1.4 wc命令 1.5 ulimit用户资源 1.6 scp远程拷贝 1.7 dos2u ...

  7. Linux基础入门--网络工具--chat

    Linux基础入门--网络工具--chat 1.概述 2.语法 3.选项 4.chat脚本 5.注释 6.从文件发送数据 7.ABORT字符串 8.CLR_ABORT字符串 9.SAY字符串 10.R ...

  8. Linux基础(指令+工具)

    Linux基础指令 基本概念 1.谈到linux,最先想到,linux和window有什么区别呢? linux是一个多用户操作系统,多用户同时操作,但都有各自访问权限 linux下一切皆文件,文件夹也 ...

  9. Linux下USB小工具usbmanager 1.0测试版发布

    最近因为需要调试一些USB设备驱动,需要频繁的在Linux下查看USB设备信息,发现Linux下USB设备管理起来非常不方便.lsusb 显示连接在系统上的USB设备信息,显示的信息比较乱,查看起来不 ...

最新文章

  1. python代码根据当前时间获取下一周的日期
  2. java 字符串xml,解析java中的xml字符串?
  3. bzoj 36733674: 可持久化并查集 by zky
  4. oracle tax 中国税,oracle_TAX_税基础设置操作手册.doc
  5. python 网络编程_Python网络编程(六)
  6. java clicked_关于java:JComponents在调用mouseClicked()之后消失
  7. requests-获取cookie-0223
  8. re模块中的非贪婪匹配
  9. 小白学vb还是python_小白学 Python 爬虫(30):代理基础
  10. JS 中引号多级嵌套
  11. 微信小程序----相对路径图片不显示
  12. topcoder srm 540 div1
  13. 设计模式六大原则-OCP
  14. SpringMVC设置不拦截静态资源css,js
  15. 中国大数据与智能计算产业联盟“开源软件工作委员会”成立会议在京召开
  16. 服务器宕机指的是什么意思?
  17. Python画爱心树源码
  18. 技术干货|eBay对流量控制说“so easy”!
  19. 【C++】关于日期的计算
  20. 马上就博士毕业了,博士毕业论文外审结果回来了

热门文章

  1. linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信)
  2. 实现连麦_微信年底放了个大招,视频号重磅升级,打赏直播连麦美颜抽奖齐上...
  3. 计算机基础中的分层教学,分层教学法在计算机基础课程中的应用研究
  4. php mail ld preload,读《利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令》有感...
  5. 如何利用python在一个wen'dang'li_如何利用Python网络爬虫给自己跟朋友来一份穷游攻略!走到哪里穷到哪里的哦!...
  6. java深拷贝和浅拷贝介绍
  7. 计算机基础:多媒体基础知识笔记
  8. 阿里的26款大神级的Java开源项目
  9. Bootstrap 5款常用模板
  10. mysql开方_MySQL数学函数的实际用法