【linux下安装nmon】
一、下载nmon包
1)linux上运行:
mkdir nmon
2)cd 进入nmon
3)运行:
1.wget https://netix.dl.sourceforge.net/project/nmon/nmon16g_x86.tar.gz 2. tar -zxvf nmon16g_x86.tar.gz 3.赋予执行权限 chmod 755 nmon16g_x86_rhel72 4.执行./nmon16g_x86_rhel72
执行4步骤,提示报错:
./nmon16g_x86_rhel72: /lib64/libc.so.6: version `GLIBC_2.14' not found
从上面报错可以看出,程序运行时候,没有找到“GLIBC_2.14”这个版本库,而默认的Centos6.9 glibc版本最高为2.12, 所以需要更新系统glibc库。
glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
很多linux的基本命令,比如cp, rm, ll,ln等,都得依赖于它,如果操作错误或者升级失败会导致系统命令不能使用,严重的造成系统退出后无法重新进入,所以操作时候需要慎重。
解决办法:
1.查看系统版本和glibc库版本
[root@Centos1 ~]# cat /etc/redhat-release CentOS release 6.8 (Final) # strings /lib64/libc.so.6 |grep GLIBC_ GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_PRIVATE
由上面的信息可以看出系统是CentOS 6.8,最高支持glibc的版本为2.12,而支持版本要2.14版本,所以需要升级。
2.下载软件并升级:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.14.tar.gz tar -xvf glibc-2.14.tar.gz tar -xvf glibc-ports-2.14.tar.gz mv glibc-ports-2.14 glibc-2.14/ports mkdir glibc-2.14/build cd glibc-2.14/build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make make install
如果以上命令执行完毕不报错的话,查看库文件,发现/lib64/libc.so.6软链接指向了2.14版本
ll /lib64/libc.so.6

3.再次查看glibc支持的版本:
strings /lib64/libc.so.6 |grep GLIBC_

可以看到glibc支持的版本已经到2.14,再次执行程序就不会报错了。
4)进入nmon目录,执行./nmon16g_x86_rhel72
CPU、内存、磁盘和网络的消耗情况都被很直观的展现出来。

按键“C”可以查看CPU相关信息;
按键“D”可以查看磁盘信息;
按键“T”可以查看系统的进程信息;
“M”对应内存、“N”对应网络等等;
完整的快捷键对应内容可以通过帮助(按键 “H”)查看。
按键“q”,即退出。

可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据均是实时刷新,一目了然。
5)生成nmon报告
a.采集数据
运行以下命令:
./nmon16g_x86_rhel72 -s10 -c60 -f -m test/
参数解释:
-s10 每 10 秒采集一次数据。 -c60 采集 60 次,即为采集十分钟的数据。 -f 生成的数据文件名中包含文件创建的时间。 -m 生成的数据文件的存放目录。 这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。
文件的输出格式为:hostname+分隔符(_)+ 年月日 + 时分 + 后缀(nmon)
eg: _090824_1306.nmon ,"" 是这台主机的主机名。
例如:在30秒的时间间隔收集的top procs,持续1小时
/opt/nmon -f -t -r Test1 -s30 -c120
将nmon文件转换为.csv文件
sort Centos1_190608_0923.nmon > Centos1_190608_0923.nmon.csv
6)数据分析:
windows下载nmon_analyser_v54.zip
下载地址:https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/61ad9cf2-c6a3-4d2c-b779-61ff0266d32a/page/b7fc61a1-eef9-4756-8028-6e687997f176/attachment/0718c0da-edb5-4068-8deb-a4ec08475e0f/media/nmon_analyser_v54.zip
解压会生成两个文件:
NA_UserGuide v54.docx
nmon analyser v54.xlsm
打开nmon analyser v54.xlsm文件,在菜单文件->选项->信任中心,选择“启用所有宏”,设置完成后,点击Analyze nmon data按钮加载数据(刚刚下载到windows的Centos1_190608_0923.nmon文件或者转换后的.csv文件)。
ps:我这里是excel的版本是:开发工具-宏安全性-启用所有的宏-确定。

生成图表:磁盘,进程,内存,网络等的相关性能信息。

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

浙公网安备 33010602011771号