手把手教你安装nmon

时间:2024-02-17 14:16:25

一、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 秒,正好是一天的数据。