在Aix下游topas命令可以检测系统运行状况,在linux下只有一个top,但是不是很友好。今天发现了一个开源工具numon,可以监控linux、aix下资源占用情况界面要比top号很多,还有分析工具,功能很强悍。好东西分享一下:
一、下载使用
nmon下载地址:
http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon
选择自己需要的版本:
比如我使用的redhat E 5.3,所以我选择下面的“nmon for Linux Download”下的下载点。点击后探出“nmon for Linux”首页,选择detail里的“For the pre-compiled versions - click on Download ”(这里选择的是预编译好的二进制文件,如果你想研究一下源代码,也是可以的~),打开下载页面:
根据cpu类型选择下载点,这里选择32位的redhat5.3下的nmon。
下载后解压缩,如下
选中的就是我们需要的文件!
然后执行这个文件 ./nmon_x86_rhel52,界面如下:
看,是不是和aix下的topas很像?nmon提供了一些选项,方便我们查看,例如按c查看cpu,按d查看磁盘io,按n查看网络情况等。
nmon选项:
二、数据分析
nmon还提供数据分析功能。
# ./nmon –f -s 30 –c 100
说明:每隔30秒检测一次、共检测100次,并将结果输出到默认的文件中。
-f 以文件的形式输出,默认输出是机器名+日期.nmon的格式,也可以用-F指定输出的文件名,例如:
# ./nmon_x86_rhel4 –F test.nmon -s 30 –c 100
-s是采样频率,隔多长时间收集一次,这里我指定的是30秒一次;
-c是采样次数,一共要收集多少次,这里我指定的是100次。
注意:这里单次收集的文件大小最多不能超过65K行(EXCEL里的限制),大约是在nmon中 –c的值不超过330次就OK。
./nmon -f -s 10 -c 150
nmon生成的文件比较大,建议每次收集的次数不要太多,若需要收集很长时间的数据,建议分开收集,也就是生成多个文件,LINUX里可以用建多个job 的方式进行,例如:
先创建一个脚本,例如命名为nmon.sh,如下:
#! /bin/sh
./nmon_x86_rhel4 -F 6326081116_6AM.nmon -s 60 -c 240
给这个文件授权:
#chmod 777 nmon.sh
然后建一个job:
# at –f nmon.sh 6:00 January 16
生成的文件用分析器打开后会自动分析出结果,把结果保存到一个excel中就可以了,分析结果如下
三、资源文件
这里把x86下32/64位下的程序船上来,方便大家使用
32位linux系统: 下载 (Intel or AMD 32 or 64 bit processor running 32 bit Linux)
64位linux系统: 下载 (Intel or AMD 64 bit processor running a 64 bit Linux)
分析器: 下载