现在的位置: 首页 > 综合 > 正文

用nmon监控Linux系统资源

2013年04月25日 ⁄ 综合 ⁄ 共 5327字 ⁄ 字号 评论关闭

下载相应 CPU 类型的版本:
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

wget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip/download
unzip nmon_x86_12a.zip
Archive:  nmon_x86_12a.zip
  inflating: nmon_x86_rhel45
  inflating: nmon_x86_rhel52
  inflating: nmon_x86_sles9
  inflating: nmon_x86_sles10
  inflating: nmon_x86_ubuntu810
  inflating: nmon_x86_fedora10
  inflating: nmon_x86_opensuse10

使用对应的操作系统文件:
chmod +x nmon_x86_ubuntu810
mv nmon_x86_ubuntu810 /usr/local/bin/nmon

对于 Debian 还要做以下操作(不做也同样能运行):
apt-get install lsb-release
lsb_release -d | sed 's/Description:\t//' > /etc/debian_release

然后直接运行 nmon 即可。

采集数据并生成报表:
采集数据:
nmon -s10 -c60 -f -m /home/

参数解释:
-s10 每 10 秒采集一次数据。
-c60 采集 60 次,即为采集十分钟的数据。
-f 生成的数据文件名中包含文件创建的时间。
-m 生成的数据文件的存放目录。

这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。
生成的文件名如: hostname_090824_1306.nmon ,"hostname" 是这台主机的主机名。

生成报表:
下载 nmon analyser (生成性能报告的免费工具):

http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser

把之前生成的 nmon 数据文件传到 Windows 机器上,用 Excel 打开分析工具 nmon analyser v33C.xls 。点击 Excel 文件中的 "Analyze nmon data" 按钮,选择 nmon 数据文件,这样就会生成一个分析后的结果文件: hostname_090824_1306.nmon.xls ,用 Excel 打开生成的文件就可以看到结果了。

如果宏不能运行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然后再打开文件并允许运行宏。

自动按天采集数据:
在 crontab 中增加一条记录:
0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1

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

参考资料:
nmon for Linux:
http://nmon.sourceforge.net/pmwiki.php

nmon 性能:分析 AIX 和 Linux 性能的免费工具:
http://www.ibm.com/developerworks/cn/aix/library/analyze_aix/index.html

nmon analyser —— 生成 AIX 性能报告的免费工具:
http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/index.html

 

------------------------------------------------------------------------------------------------------------------------

 

Nmon 工具是 IBM 提供的免费的监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器的系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工具进行数据的统计分析,非常利用 UNIX 或者 Linux 系统的性能数据分析。Nmon 工具使用起来非常简单,下面将分步骤介绍如何使用该工具。

一、安装 nmon
首先我们在 IBM 的官方网站上下载 nmon 工具,下载时需注意要下载对应的系统版本。我们这里以 debian31 为例,下载的是 nmon_x86_11f.zip 版本,该版本支持 ubuntu。下载后解压,改名为 nmon 并上传到 Linux 中。在 Linux 的终端中输入 ls 可以看到:
slg@slg-desktop:~/桌面/GVS项目/nmon$ ls
nmon_x86_debian31 nmon_x86_knoppix5 nmon_x86_rhel3 nmon_x86_sles10
nmon_x86_fedora5 nmon_x86_rhel2 nmon_x86_rhel4 nmon_x86_sles9

为了能够正常的使用 nmon 工具,我们需要修改相关文件的权限。我们这里所使用的 Linux 系统是 ubuntu,所以,我们仅修改”nmon_x86_debian31”文件
的权限即可。为了方便,直接改为 777,命令如下:chmod 777 nmon_x86_debian31修改完成后,我们就完成了 nmon 工具的安装,接下来介绍一下该工具的使用。

二、使用 nmon
nmon 工具使用非常简单。首先我们启动该工具,在 nmon 目录下,输入 ./nmon_x86_debian31 打开界面,根据提示信息即可进行操作,
┌nmon─11f─────────────────────Hostname=slg-desktop──Refresh= 2secs ───10:12.08──────────────────────────────────────────────┐
│ │
│ ------------------------------ For help type H or ... │
│ # # # # #### # # nmon -? - hint │
│ ## # ## ## # # ## # nmon -h - full │
│ # # # # ## # # # # # # │
│ # # # # # # # # # # To start the same way every time │
│ # ## # # # # # ## set the NMON ksh variable │
│ # # # # #### # # │
│ ------------------------------ │
│ │
│ Use these keys to toggle statistics on/off: │
│ c = CPU l = CPU Long-term - = Faster screen updates │
│ m = Memory j = Filesystems + = Slower screen updates │
│ d = Disks n = Network V = Virtual Memory │
│ r = Resource N = NFS v = Verbose hints │
│ k = kernel t = Top-processes . = only busy disks/procs │
│ h = more options q = Quit │
│───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│
│ 
如输入c显示cpu信息;
CPU Utilisation ──────────────────────────────────────────────────────────────────────────────────────────────────────────│
│ +-------------------------------------------------+ │
│CPU User% Sys% Wait% Idle|0 |25 |50 |75 100| │
│ | Please wait gathering data │
│ +-------------------------------------------------+ │
│──────────────────────────────────────────────────────────────────────────────────────────

三、输出文件

上面所讲的只是在服务器监控,我们真正需要的是如何收集这些数据并处理分析它们。nmon 提供了一个 nmon_analyser 的分析工具,可利用 excel 进行统计结果的分析。在测试的时候,我们可使用下列命令进行数据的输出:
./ nmon_x86_debian31 –fT –s 5 –c 5
上面命令的含义是,-f 输出文件,-T 输出最耗资源的进程,-s 收集数据的时间间隔,-c 收集次数。比如,我们测试场景需要执行 20 分钟,那么我们需要每隔 10 秒监控 Linux系统资源就可以写成:
./ nmon_x86_debian31 –fT –s 10 –c 120
120 是次数,也就是 20 分钟/10 秒=120 次。完成后会在当前目录生成一个.nmon 的文
件。如图:
slg@slg-desktop:~/桌面/GVS项目/nmon$ ls
nmon_x86_debian31 nmon_x86_knoppix5 nmon_x86_rhel3 nmon_x86_sles10 slg-desktop_090113_1024.nmon
nmon_x86_fedora5 nmon_x86_rhel2 nmon_x86_rhel4 nmon_x86_sles9
nmon 输出文件的命名方式是服务器名_日期时间.nmon,我们在测试结束后,可到相应的目录下提取这些文件。

四、分析数据

打开nmon analyser v334
设置宏的安全级别是低 ,之后点击 Analyser NMON data 按钮 输入文件 保存成excel格式即可。

 

----------------------------------------------------------------------------------------------------------------------------

 

 

在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中就可以了,分析结果如下 :: 分析器,需要调整excel的宏安全级别

 

 

 

 

三、资源文件 http://sosuny.iteye.com/blog/686160

抱歉!评论已关闭.