一、nmon简介

nmon是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的工具。该工具可帮助在一个屏幕上显示服务器系统资源耗用情况,并动态地对其进行更新。此外,他还可以利用 excel 分析工具(nmon analyser)进行数据的统计分析。

二、具体功能

nmon收集的数据包括:

• 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

三、软件获取

3.1 下载nmon

软件地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

在下载之前,我们得查看一下自己linux系统的版本及CPU位数,然后选择相应的压缩包进行下载。如图,笔者的系统版本为:CentOS 7.2.1511,64位。

所以,选择如下图所示的版本nmon16g_x86.tar.gz

笔者本地的系统是windows,所以,就先下载到本地,在通过linux命令传到linux系统。

3.2下载nmon analyser

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

笔者下载的是最新版的。

下载之后将nmon analyser v55解压,得到一个.xlsm文件,打开即可(启用编辑)。

四、安装nmon

在安装nmon之前,笔者习惯先建立一个文件夹。

创建笔者的目录,并在此目录下创建nmon的目录:

mkdir mjj  (创建笔者的目录)

ls(查看所有的目录,可以看到刚刚新建的目录)

进入笔者的目录

可以通过pwd命令查看笔者目录的确实路径。

再创建一个nmon目录,以便存放nmon的包。命令为mkdir nmon。

下面将将windows中下载的nmon上传至/home/dev/mjj/nmon目录下,(PS:在secureCRT中输入rz两个字符,从windows选择对应的文件,点击 Add 按钮,文件就被选中了。从linux到windows,执行sz命令,注意 sz命令后面需要加 filename,同样可以选择下载的路径,第一次修改之后,以后均默认下载到此处)

然后进行解压操作,命令为:tar –zxvf nmon16g_x86.tar.gz,解压后会得到如下几个文件:nmon16g_x86_fedora25、nmon16g_x86_rhel72、nmon16g_x86_sles12、nmon16g_x86_sles114、nmon16g_x86_ubuntu1604,解压后根据自己系统的实际版本查找相应的使用命令,并给命令赋予可执行的权限。本文用的是nmon16g_x86_rhel72,并给它赋予可执行的权限。命令为chmod +x nmon16g_x86_rhel72,

赋予权限后,执行以下命令会启动nmon             ./nmon16g_x86_rhel72

看到这里就算成功了。我们可以通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相 关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键 “H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据均是实时刷新,一目了然。

五、配置环境变量

以上的配置基本完成,但仍会有一个缺点,那就是使用最后的命令必须该命令的详细路径才能使用,这样不是很方便,所以我们需要将nmon的命令添加到系统环境变量中去,以方便我们可以在任何地方都可以使用该命令。

5.1 修改 /etc/profile 文件

命令   sudo vi /etc/profile,此命令输入之后会要求输入密码,对应的输入密码即可。

5.2 在 /etc/profile 文件的 最后 加入环境变量

(点击i可以进行编辑,点击esc退出编辑,$PATH:后为命令的路径)

5.3 退出并且保存

命令      :wq

5.4  立即生效

   source /etc/profile(PS:如果不执行 source 命令,则需重启系统才能生效

         好了,现在在任一个路径下输入nmon都可以运行nmon程序进行性能监控了。

六、采集监控数据

为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令在远程窗口执行命令: # nmon -s 1 -c 60 -f -m /home/dev/mjj/nmon
参数说明:
-s 1 每隔n秒抽样一次,这里为1秒
-c 60 取出多少个抽样数量,这里为60,即监控=1*60/60=1分钟
-f 按标准格式输出文件名称:<hostname>_YYMMDD_HHMM.nmon
 -m 指定监控文件的存放目录,-m后跟指定目录 //如果不指定目录会在该命令的源目录下生成相应的监控文件

七、生成图形化报表

通过后台监控和定期监控,我们可以得到扩展名为nmon的监控文件,这些文件记录着系统资源的数据,需要配合分析工具(nmon analyser)进行解读。
       1、将/home/dev/mjj/nmon文件夹下生成的命令通过sz命令下载到本地
       2、打开nmon_analyser的.xlsm
       3、点击.xlsm文件界面上的Analyse nomn data按钮,将下载的下来的文件添加进去,最后会生成一个xlsm文件,如下图,可以选择自己需要查看的数据进行分析。

生成的报表中的参数意义:

八、定时任务

除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控实现如下:

1)   执行命令:#crontab  –e

2)   在最后一行添加如下命令:

0 8 * * 1,2,3,4,5  /nmon/nmon_x86_rhel72  -f -N -m /nmon/log  -s 30 -c 1200

表示:周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log

自动按天采集数据:

在 crontab 中增加一条记录:

0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1

300*288=86400 秒,正好是一天的数据。

手把手教你安装nmon的更多相关文章

  1. 周一干货~手把手教你安装 Visual Studio 安卓模拟器

    干货~手把手教你安装 Visual Studio 安卓模拟器 转 http://mini.eastday.com/mobile/171107134734194.html# 今天软妹为大家带来一篇来自M ...

  2. 手把手教你安装 FastAdmin 到虚拟主机 (phpStudy)

    手把手教你安装 FastAdmin 到虚拟主机 (phpStudy)原文: https://forum.fastadmin.net/thread/2524 下载 FastAdmin下载 FastAdm ...

  3. **手把手教你安装 Anaconda + Tensor flow+Pycharm**

    手把手教你安装 Anaconda + Tensor flow+Pycharm 这篇博文主要讲一下自己安装Anaconda + Tensor flow + Pycharm 的一个过程. 1. ANACO ...

  4. Windows7下面手把手教你安装Django

    我所使用的操作系统是Windows7,内存是2G 在搜索了一些资料发现,对于Django的安装,详细的真的很少,都说的很简化,然而,这篇blog可以手把手教你成功安装Django 对于Django的详 ...

  5. Linux环境搭建 | 手把手教你安装Linux虚拟机

    前言 作为一名Linux工程师,不管是运维.应用.驱动方向,在工作中肯定会需要Linux环境.想要获得Linux环境,一个办法就是将电脑系统直接换成Linux系统,但我们平常用惯了Windows系统, ...

  6. Windows7下面手把手教你安装Django - Hongten

    我所使用的操作系统是Windows7,内存是2G 在搜索了一些资料发现,对于Django的安装,详细的真的很少,都说的很简化,然而,这篇blog可以手把手教你成功安装Django 对于Django的详 ...

  7. 手把手教你安装QT集成开发环境(操作系统为ubuntu10.04)

    在安装QT集成开发工具包之前需要先安装build-essential和libncurses5-dev这两个开发工具和库,libncurses5-dev库是一个在Linux/Unix下广泛应用的图形函数 ...

  8. Eclipse——手把手教新手安装Eclipse

    一.准备工作:安装JRE和JDK. 全名分别为:Java Runtime Environmen和Java SE Development Kit,推荐直接在某度软件中心下载即可,注意区分64位和32位. ...

  9. python3+ selenium3开发环境搭建-手把手教你安装python(详细)

    环境搭建 基于python3和selenium3做自动化测试,俗话说:工欲善其事必先利其器:没有金刚钻就不揽那瓷器活,磨刀不误砍柴工,因此你必须会搭建基本的开发环境,掌握python基本的语法和一个I ...

随机推荐

  1. Appium测试,定位H5元素(HTML5)

    代码如下: public static void main(String[] args) {         try {             AndroidDriver driver;       ...

  2. ACM-ICPC 2018 沈阳赛区网络预赛 K Supreme Number(规律)

    https://nanti.jisuanke.com/t/31452 题意 给出一个n (2 ≤ N ≤ 10100 ),找到最接近且小于n的一个数,这个数需要满足每位上的数字构成的集合的每个非空子集 ...

  3. freemarker和thymeleaf的使用样例

    最近需要对公司项目首页使用Java模板重做,以提高首屏加载速度和优化SEO. 在选择模板时发现freemarker和thymeleaf最为常用. 两者最大的区别在于语法,对性能方面未作测试,具体性能测 ...

  4. ASP.NET Web API 2 之路由配置

    Ø  简介 ASP.NET Web API 路由配置也是必须掌握的技术点之一,要真正的完全掌握和理解它也是需要一定的过程的.不过,在平常的开发过程中,对它有基本的了解就足够了.因为我们主要关注点并不在 ...

  5. RC522射频卡读写模块驱动(仅读取)

    目录 说明 测试结果 main RC522.h RC522.c 说明 更改了网上的源代码,仅保留了读取序列号并通过串口回传的功能.版本号:V1 感谢 https://blog.csdn.net/qq_ ...

  6. 找不多控件, or 控件为null

    组件化开发,命名要使用moudle区分, 同名,在最后合成的时候,会出现很多问题,

  7. 3D Slicer中文教程(二)—软件功能界面介绍

    1.界面介绍 2.菜单及工具栏介绍 (1)菜单 File-文件菜单 文件菜单包含用于加载MRML场景的选项,用于从互联网下载样本数据集或各种类型的各个数据集.此处还提供了保存场景和数据的选项. Edi ...

  8. 游记-WC2019

    Day0 报道.开幕式 一大早起来吃了个老北京炸酱面,然而一点都不北京,发现店子墙壁上"这9是--"(cy语) 一路辗转到了二中,报到时在签字版爷稳稳名字下写了cgz ak ioi ...

  9. ES--08

    71.内核原理探秘_最后优化写入流程实现海量磁盘文件合并(segment merge,optimize) 课程大纲 每秒一个segment file,文件过多,而且每次search都要搜索所有的seg ...

  10. img标签里的value获取

    简单描述:在img标签里的value存放了需要用到的值,但是在js中获取的时候,我直接写的就是$("#imgStr").val(),结果发现是空,后来查了一下,才知道,img的va ...