nmon工具安装使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wxb880114/article/details/88824066

yum install nmon

Running transaction
  Installing : nmon-16g-3.el7.x86_64                                                                                                                                                                       1/1 
  Verifying  : nmon-16g-3.el7.x86_64                                                                                                                                                                       1/1 

Installed:
  nmon.x86_64 0:16g-3.el7                                                                                                                                                                                      

Complete!

nmon -h

[root@iz2zeivrkckulq2dtidztmz fabric]# nmon -h
Hint for nmon version 16g
	Full Help Info : nmon -h

	On-screen Stats: nmon
	Data Collection: nmon -f [-s <seconds>] [-c <count>] [-t|-T]
	Capacity Plan  : nmon -x
Interactive-Mode:
	Read the Welcome screen & at any time type: "h" for more help
	Type "q" to exit nmon

For Data-Collect-Mode
	-f            Must be the first option on the line (switches off interactive mode)
	              Saves data to a CSV Spreadsheet format .nmon file in then local directory
	              Note: -f sets a defaults -s300 -c288    which you can then modify
	Further Data Collection Options:
	-s <seconds>  time between data snapshots
	-c <count>    of snapshots before exiting
	-t            Includes Top Processes stats (-T also collects command arguments)
	-x            Capacity Planning=15 min snapshots for 1 day. (nmon -ft -s 900 -c 96)
---- End of Hints
---- Full Help Information for nmon 16g

For Interactive and Data Collection Mode:
	User Defined Disk Groups (DG) - This works in both modes
	It is a work around Linux issues, where disks & partitions are mixed up in /proc files
	& drive driver developers use bizarre device names, making it trick to separate them.
	-g <filename> Use this file to define the groups
	              - On each line: group-name <disks-list>   (space separated list)
	              - Example line: database sdb sdc sdd sde
	              - Up to 64 disk groups, 512 disks per line
	              - Disks names can appear more than one group
	-g auto       - Will generate a file called "auto" with just disks from "lsblk|grep disk" output
	 For Interactive use define the groups then type: g or G
	 For Data Capture defining the groups switches on data collection

Data-Collect-Mode = spreadsheet format (i.e. comma separated values)
	Note: Use only one of f, F, R, x, X or z to switch on Data Collection mode
	Note: Make it the first argument then use other options to modify the defaults
	Note: Don't collect data that you don't want - it just makes the files too large
	Note: Too many snapshots = too much data and crashes Analyser and other tools
	Note: 500 to 800 snapshots make a good graph on a normal size screen
	Recommended normal minimal options: snapshots every 2 minutes all day: 
		Simple capture:      nmon -f  -s 120 -c 720
		With Top Procs:      nmon -fT -s 120 -c 720
		Set the directory:   nmon -fT -s 120 -c 720 -m /home/nag/nmon
		Capture a busy hour: nmon -fT -s   5 -c 720 -m /home/nag/nmon

For Data-Collect-Mode Options
	-f            spreadsheet output format [note: default -s300 -c288]
			 output file is <hostname>_YYYYMMDD_HHMM.nmon
	-F <filename> same as -f but user supplied filename
			 Not recommended as the default file name is perfect
	The other options in alphabetical order:
	-a            Include Accelerator GPU stats
	-b            Online only: for black and white mode (switch off colour)
	-c <number>   The number of snapshots before nmon stops
	-d <disks>    To set the maximum number of disks [default 256]
	              Ignores disks if the systems has 100's of disk or the config is odd!
	-D            Use with -g to add the Disk Wait/Service Time & in-flight stats
	-f and -F     See above
	-g <filename> User Defined Disk Groups (see above) - Data Capture: Generates  BBBG & DG lines
	-g auto       See above but makes the file "auto" for you of just the disks like sda etc.
	-h            This help output
	-I <percent>  Set the ignore process & disks busy threshold (default 0.1%)
	              Don't save or show proc/disk using less than this percent
	-J            Switch-off Journel Filesystem stats collection (can causes issues with automound NFS)
	-l <dpl>      Disks per line in data capture to avoid spreadsheet width issues. Default 150. EMC=64.
	-m <directory> nmon changes to this directory before saving to file
	              Useful when starting nmon via cron
	-M 		Adds MHz stats for each CPU thread. Some POWER8 model CPU cores can be different frequencies
	-N            Include NFS Network File System for V2, V3 and V4
	-p            nmon outputs the PID when it starts. Useful in scripts to capture the PID for a later safe stop.
	-r <runname>  Use in a benchmark to record the run details for later analysis [default hostname]
	-R  		Old rrdtool format used by some - may be removed in the future. If you use this email Nigel
	-s <seconds>  Time between snap shots - with "-c count" decides duration of the data capture
	-t            Include Top Processes in the output
	-T            As -t plus it saves command line arguments in UARG section
	-U            Include the Linux 10 CPU utilisation stats (CPUUTIL lines in the file)
	-V            Print nmon version & exit immediately

	To manually load nmon files into a spreadsheet:
		sort -A *nmon >stats.csv
		Transfer the stats.csv file to your PC
		Start spreadsheet & then Open with type=comma-separated-value ASCII file
		This puts every datum in a different cell
		Now select the data of one type (same 1st column) and graph it
		The nmon Analyser & other tools do not need the file sorted.

Capacity Planning mode - use cron to run each day
	-x            Sensible spreadsheet output for one day
	              Every 15 mins for 1 day ( i.e. -ft -s 900 -c 96)
	-X            Sensible spreadsheet output for busy hour
	              Every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120)
	-z            Like -x but the output saved in /var/perf/tmp assuming root user

Interactive Mode Keys in Alphabetical Order
    Start nmon then type the letters below to switch on & off particular stats
    The stats are always in the same order on-screen
    To see more stats: make the font smaller or use two windows

	Key --- Toggles on off to control what is displayed ---
	b   = Black and white mode (or use -b command line option)
	c   = CPU Utilisation stats with bar graphs (CPU core threads)
	C   = CPU Utilisation as above but concise wide view (up to 192 CPUs)
	d   = Disk I/O Busy% & Graphs of Read and Write KB/s
	D   = Disk I/O Numbers including Transfers, Average Block Size & Peaks (type: 0 to reset)
	g   = User Defined Disk Groups            (assumes -g <file> when starting nmon)
	G   = Change Disk stats (d) to just disks (assumes -g auto   when starting nmon)
	h   = This help information
	j   = File Systems including Journal File Systems
	J   =  Reduces "j" output by removing unreal File Systems
	k   = Kernel stats Run Queue, context-switch, fork, Load Average & Uptime
	l   = Long term Total CPU (over 75 snapshots) via bar graphs
	L   = Large and =Huge memory page stats
	m   = Memory & Swap stats
	M   = MHz for machines with variable frequency 1st=Threads 2nd=Cores 3=Graphs
	n   = Network stats & errors (if no errors it disappears)
	N   = NFS - Network File System
	      1st NFS V2 & V3, 2nd=NFS4-Client & 3rd=NFS4-Server
	o   = Disk I/O Map (one character per disk pixels showing how busy it is)
	      Particularly good if you have 100's of disks 
	q   = Quit
	r   = Resources: Machine type, name, cache details & OS version & Distro + LPAR
	t   = Top Processes: select the data & order 1=Basic, 3=Perf 4=Size 5=I/O=root only
	u   = Top Process with command line details
	U   = CPU utilisation stats - all 10 Linux stats:
	      user, user_nice, system, idle, iowait, irq, softirq, steal, guest, guest_nice
	v   = Experimental Verbose mode - tries to make recommendations
	V   = Virtual Memory stats

	Key --- Other Interactive Controls ---
	+   = Double the screen refresh time
	-   = Halves the screen refresh time
	0   = Reset peak counts to zero (peak highlight with ">")
	1   = Top Processes mode 1 Nice, Priority, Status
	3   = Top Processes mode 3 CPU, Memory, Faults
	4   = Top Processes mode 4 as 3 but order by memory
	5   = Top Processes mode 5 as 3 but order by I/O (if root user)
	6   = Highlights 60% row on Long Term CPU view
	7   = Highlights 70% row on Long Term CPU view
	8   = Highlights 80% row on Long Term CPU view
	9   = Highlights 90% row on Long Term CPU view
	.   = Minimum mode i.e. only busy disks and processes shown
	space = Refresh screen now

Interactive Start-up Control
	If you find you always type the same toggles every time you start
	then place them in the NMON shell variable. For example:
	 export NMON=cmdrtn

Other items for Interactive and Data Collection mode:
	a) To limit the processes nmon lists (online and to a file)
	    either set NMONCMD0 to NMONCMD63 to the program names
	    or use -C cmd:cmd:cmd etc. example: -C ksh:vi:syncd
Other items for Data Collection mode:
	b) To you want to stop nmon use: kill -USR2 <nmon-pid>
	c) Use -p and nmon outputs the background process pid
	d) If you want to pipe nmon output to other commands use a FIFO:
	    mkfifo /tmp/mypipe
	    nmon -F /tmp/mypipe &
	    tail -f /tmp/mypipe
	e) If nmon fails please report it with:
	   1) nmon version like: 16g
	   2) the output of: cd /proc; cat cpuinfo meminfo partitions stat vmstat
	   3) some clue of what you were doing
	   4) I may ask you to run the debug version or collect data files
	f) If box & line characters are letters then check: terminal emulator & $TERM
	g) External Data Collectors - nmon will execute a command or script at each snapshot time
	   They must output to a different file which is merge afterwards with the nmon output
	   Set the following shell variables:
	    NMON_START  = script to generate CVS Header test line explaining the columns
	         Generate: TabName,DataDescription,Column_name_and_units,Column_name_and_units ... 
	    NMON_SNAP   = script for each snapshots data, the parameter is the T0000 snapshot number
	         Generate: TabName,T00NN,Data,Data,Data ...
	    NMON_END    = script to clean up or finalise the data
	    NMON_ONE_IN = call NMON_START less often (if it is heavy in CPU terms)
	    Once capture done: cat nmon-file data-file >merged-file ; ready for Analyser or other tools
	    The nmon Analyser will automatically do its best to graph the data on a new Tab sheet

	Developer: Nigel Griffiths      See http://nmon.sourceforge.net
	Feedback welcome - On the current release only
	No warranty given or implied. (C) Copyright 2009 Nigel Griffiths GPLv3

一、采集监控数据

在实际的性能测试中我们需要把一段时间之内的数据记录下来,如:

1、采集数据

# nmon -s1 -c60 -f -m /home/nmon

# ll /home/nmon/

total 15220

-rw-r--r-- 1 root root   23923 Oct 14 16:59  chen_151014_1659.nmon

参数说明:

-s1            每隔n秒抽样一次,这里为1秒

-c60         取出多少个抽样数量,这里为60,即监控=1*60/60=1分钟

-f               按标准格式输出文件名称:<hostname>_YYMMDD_HHMM.nmon

-m            指定监控文件的存放目录,-m后跟指定目录

二、生成图形化报表

1、将.nmon文件转化成.csv文件

# sort chen _151014_1659.nmon > chen _151014_1659.csv

# ll /home/nmon

total 15300

-rw-r--r-- 1 root root   51999 Oct 14 17:09 chen_151014_1659.csv

-rw-r--r-- 1 root root   51999 Oct 14 17:00 chen _151014_1659.nmon

2、将.csv文件下载到本地

3、打开nmon analyser工具

在本地解压nmon_analyser_v47.zip

双击打开:nmon analyser v47.xlsm

点击Analyse nmon data按钮,加载之前下载的chen_151014_1659.csv文件。

补充说明:本地安装的excle是2010版本

八、结果分析

九、结果nmon运行

nmon运行本身是会消耗系统资源,如需关闭nmon,直接kill掉

# ps -ef | grep nmon       (得到pid)

# kill -9 pid                           (安全kill)

工具下载链接:

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

猜你喜欢

转载自blog.csdn.net/wxb880114/article/details/88824066