AIX下用nmon进行监控和分析实战

AIX下用nmon进行监控和分析实战

nmon从这里下载:

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

1、准备:

1)用root用户登录到系统中

2)建目录:#mkdir /nmon/script

3)确定版本:#oslevel,以便确定用哪个脚本,我是用530

# oslevel -s

5300-09-01-0847

4)把nmon12e_aix530用ftp上传到/nmon/script

5)执行授权命令:#chmod +x nmon12e_aix530

2、使用:

1)直接使用:

./nmon/nmon12e_aix536 -f -N -m /nmon/log -s 30 -c 2880

表示:

-f 按标准格式输出文件:_YYYYMMDD_HHMM.nmon

-N include NFS sections

-m 切换到路径去保存日志文件

-s 每隔n秒抽样一次,这里为30

-c 取出多少个抽样数量,这里为2880,即监控=2880*(30/60/60)=24小时

根据小时计算这个数字的公式为:c=h*3600/s,比如要监控10小时,每隔30秒采样一次,则c=10*3600/30=1200

2)用crontab定期使用:

A、执行命令:#crontab -e

B、在最后一行添加如下命令:

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

表示:

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

3、分析

1)会在/tmp/nmon生成*.nmon的文件把它下载到你的电脑上

2)打开nmon analyser v339.xls,把宏的安全性设成最低,打开下载好的*.nmon文件。

并且保存为一个文件,生成的是视图模式的,非常直观!

参考:

附录一:crontab参数:

参考:http://tech.ddvip.com/2008-11/122629526990895.html

f1 f2 f3 f4 f5 program

minute hour day_of_month month weekday command这些字段接收以下值:

minute 0 到 59

hour 0 到 23

day_of_month 1 到 31

month 1 到 12

weekday 0 到 6(星期天到星期六)

其中f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推

当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推

附录二:nmon参数:

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

nmon:

-f spreadsheet output format [note: default -s300 -c288]

Output file is _YYYYMMDD_HHMM.nmon

-F same as -f but user supplied filename

-c number of snapshots

-d requests disk service and wait times (DISKSERV and DISKWAIT)

-i Ignore processes using less than this amount of CPU when generating TOP section – useful for reducing data volumes

-g file containing disk group definitions

-l number of hdisks per sheet – defaults to 150, maximum 250. See notes

-m

NMON changes to this directory before saving the file

-r goes into spreadsheet file [default hostname]

-s interval between snap shots

-x capacity planning (15 mins for 1 day = -fdt -s900 -c96)

-t include top processes in the output

-T as –t plus saves command line arguments in UARG section

-A include data for async I/O (PROCAIO) sections

-D prevents DISK sections being produced (useful when Disk Groups are being used because there are too many hdisks to process)

-E stops ESS sections being produced (necessary when Disk Groups are being used because there are too many vpaths to process)

-J prevents JFS sections being produced (prevents Excel errors when you have more than 255 filesystems)

-L includes LARGEPAGE section

-N include NFS sections

-S include WLM sections with subclasses

-W include WLM sections without subclasses

-Y include SUMMARY section (very efficient alternative to –t if PID level data is not required)

example: nmon_aix51 -F asterix.nmon -r Test1 -s6 -c12

posted on 2009-02-19 20:24 IT进行时 阅读(4975) 评论(4) 编辑 收藏

评论

# re: AIX下用nmon进行监控和分析实战 2009-03-25 15:46 无名网

写得不错,很多的文章一样的问题那就是没有说当nmon收到参数以的都是以daemon的形式运行的。开始的时候我就认为他没有工作,后来对产生的文件进行监控才发一它是以daemon的形式运行的。 回复 更多评论

下面是cronatab 服务的man :

Examples

1 To copy a file called mycronjobs into the /var/spool/cron/crontabs directory, enter the following:

crontab mycronjobs

The file will be copied as:

/var/spool/cron/crontabs/

where is your current user name.

2 To write the time to the console every hour on the hour, enter:

0 * * * * echo The hour is `date` .

>/dev/console

3 To run the calendar command at 6:30 a.m. every Monday, Wednesday, and Friday, enter:

30 6 * * 1,3,5 /usr/bin/calendar

4 To run the calendar command every day of the year at 6:30, enter the following:

30 6 * * * /usr/bin/calendar

5 To run a script called maintenance every day at midnight in August, enter the following:

0 0 * 8 * /u/harry/bin/maintenance

6 To define text for the standard input to a command, enter:

0 16 * 12 5 /usr/sbin/wall%HAPPY HOLIDAY!%Remember to

turn in your time card.

The text following the % (percent sign) defines the standard input to the wall command as:

HAPPY HOLIDAY!

Remember to turn in your time card.

http://tech.ddvip.com/2008-11/122629526990895.html

名称 : crontab

使用权限 : 所有使用者

使用方式 :

crontab [ -u user ] file

crontab [ -u user ] { -l | -r | -e }

说明 :

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :

crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)

crontab -r : 删除目前的时程表

crontab -l : 列出目前的时程表

crontab file [-u user]-用指定的文件替代目前的crontab。

时程表的格式如下 :

f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推

当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

例子1 :

Quote:#每天早上7点执行一次 /bin/ls :

0 7 * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :

0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name :

0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分….执行 echo "haha"

20 0-23/2 * * * echo "haha"

注意 :

当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

例子2 :

Quote:#每天早上6点10分

10 6 * * * date

#每两个小时

0 */2 * * * date

#晚上11点到早上8点之间每两个小时,早上8点

0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * mon-wed date

#1月份日早上4点

0 4 1 jan * date

执行步骤如下:

Quote:crontab -e

添加如下内容

0 0 * * * /nmon/nmon.ksh

在nmon目录下创建nmon.ksh文件,用vi编辑器编辑

Quote:cd /nmon/

/nmon/nmon_aix53 -fdt -s 90 -c 960