nmon for AIX Performance Monitoring
STOP PRESS: 27th July 2009 - nmon for Linux released to open source
nmon for Linux released to open source under GPL - it was an internal project at IBM for many years.
The source code and further information is available at Sourceforge and in particular at the new nmon for Linux wiki at http://nmon.sourceforge.net
.
This means that you can compile nmon for Linux for your specific Linux flavour and help improve it further.
STOP PRESS: 21st Nov 2008 - nmon made part of AIX
nmon for AIX included with AIX from 5.3 TL09, AIX 6.1 TL02 and Virtual I/O Server (VIOS) 2.1 . It is installed by default.
The nmon functionality is actually integrated within the topas command (as both tools use the same data source), which can be started in topas mode or nmon mode (just type "nmon"). You can flip between the two modes online by typing "~". You can also start nmon to capture to a file with the regular nmon options (nmon -f ... etc.). This gives you the best of both worlds - one tool to watch the CEC/whole machine view of all your logical partitions (topas -C) and the same tool to drill down into the details of your AIX system in nmon style.
This new AIX version is called topas_nmon and is fully supported by AIX Support so use your regular support channel. It contains the same feature set as "classic" nmon version 12e. The classic version is still supported via the Performance Tool forum and should be used for all older AIX releases but is now "functionally stabilized" i.e. new features will go in to the topas_nmon version. New features planned for topas_nmon come from two sources 1) new advanced features in the next AIX releases and new data that is only available on those new AIX releases, so these are to be added to the topas_nmon version within AIX. Note: as a side effect, there will be no delay in topas_nmon catching up with AIX features.
Briefly - What is nmon?
- nmon is short for Nigel's Monitor.
- This free tool gives you a huge amount of important performance information in one go.
It can output the data in a number of ways
- On screen (console, telnet, VNC, putty or X Windows) using curses for low CPU impact which is updated once every two seconds. You hit single characters on you keyboard to enable/disable the various sorts of data.
- Save the data to a comma separated file for analysis and longer term data capture.
- Use this together with nmon Analyser Excel 2000 spreadsheet, which loads the nmon output file and automatically creates dozens of graphs ready for you to study or write performance reports.
- Filter this data, add it to a rrd database (using an excellent freely available utility called rrdtool). This graphs the data to .gif or .png files plus generates the webpage .html file and you can then put the graphs directly on a website automatically on AIX with no need of a Windows based machine.
- Directly put the data into a rrd database for your own analysis
- nmon is a single binary for each operating system, so installing is as very easy as getting the file in your $PATH.
- Why use five or six tools when one free tool can give you everything you need!!
Warnings, Notices and License
- No warranty is given or implied.
- Feel free to use these nmon files any way you like but it is at your own risk.
- Apart from writing to the output file, nmon does not update or change anything on your machine.
What sort of Performance Data?
- CPU utilization
- Memory use
- Kernel statistics and run queue
- Disks I/O rates, transfers, and read/write ratios
- File systems size and free space
- Disk adapters
- Network I/O rates, transfers, and read/write ratios
- Paging space and paging rates
- Machine details, CPU and OS specification
- Top processors
- User defined disk groups
- Asynchronous I/O - AIX only
- Workload Manager - AIX only
- ESS and other disk subsystem - AIX only
- Dynamic LPAR changes - AIX and Linux (on POWER hardware)
Sample Screen shots and Output
Updates
- The nmon tool is updated roughly every six months, or when new operating system releases are available.
- To place your name on the e-mail list to be informed of updates, contact Nigel Griffiths.
nmon Documentation and Information
Support
- Updating to the latest version of nmon fixes ~70% of reported nmon problems!
- nmon Support - nmon is the personal project of the developer (Nigel Griffiths), who supports it directly along with the 1000's nmon users via the Manual, FAQ and Forum - see the below "Documentation and Information" section below for the links.
- nmon is not for problem determination, it assumes your system is working correctly and does not include diagnostics information. So do not raise an IBM AIX Support call with nmon data. AIX Support covers tools from AIX Development - this does not include nmon or nmon data.
- "AIX Support for a performance issue, what should you do? - If nmon (or any other tool) suggests you have a performance issue and you need AIX Support, do the following:
- Have your Support Customer Number ready.
- Collect the configuration data with the snap command, run: snap -a and find the output in /tmp/ibmsupt.
- Collect the important performance data with the perfPMR tools. Download the latest perfPMR version from the IBM Support Website
- this includes an excellent README file. Briefly, unpack perfPMR and then during the problem run: ./perfpmr.sh 600
- Get ready to FTP this data to the AIX Support FTP site.
- Prepare a clear description of the symptoms, all changes you have made to the system and the impact this is having.
- Now call AIX Support
and let them know you have snap and perfPMR data ready to send them.
- Advanced users collect snap and perfPMR regularly (say monthly and before system changes or upgrades), so before & after comparisons can be made.
|
Sample Online Output

nmon for AIX Download
| AIX |
|
|
|
|
| OS |
Hardware |
OS Version |
Current AIX Release 12e |
Next release |
| AIX |
POWER |
nmon for 5.1, AIX 5.2, AIX 5.3, AIX 6 |
gzip=newer_nmon4aix12e.tar.gz compress=nmon4aix12e.tar.Z zip=nmon4aix12e.zip
Improved nmon start Ksh script for AIX 5.3 TL8 nmon
Now includes AIX 5.1, 5.2, 5.3 & 6.1
Click here for Release Test Instructions - good summary.
Click here for nmon12 Line Items - all the details.
WLM fixed, better SPLPAR, MEMPAGE fixed, WPAR fixed, Multiple CPU pools added, Network online more digits + network & disk "=" KB<-->MB - fcstat and real_process/real_user bug fixes and add LPAR/WPAR identification hints.
Includes stats for: WPAR, NFSv4, Donating, Folding, Disk Service Times, Multiple Page Sizes, Mobility support, VIOS SEA, Fibre Channel and more.
Updated March 30th 2008 |
AIX 5.3 TL09+ and AIX 6.1 TL02 include nmon function within topas and its installed by default.
Special AIX 6.1 TL02 only version, which allows WPAR stats nmon12f_aix612.gz |
| |
POWER |
nmon for AIX 4.1.5, 4.2.0 and 4.3.3 |
nmon9f_for_aix4.tar.Z |
No more updates for AIX 4 |
| AIX |
POWER |
nmon for AIX 4.3.2 only |
nmon9f_aix432 |
No more updates for AIX 4 |
nmon for Linux Download
The nmon for Linux binaries and source code has been moved to the Soureforge open source website at http://nmon.sourceforge.net
.
nmon on Linux Startup Script - to select the right nmon version Linux startup
Other nmon tools
nmonmerge
To join two nmon output files into one, you need the nmonmerge filter.
| Download |
Comments |
nmonmerge.tar.gz |
Binaries nmon merge for AIX and the source code to allow compiling on other platforms and bug fixing. |
nmonmerge2.tar.gz |
Further bug fix (thanks Dr. Andreas Gruber) for large files (Note: compile with -D LINUX on Linux systems) |
nmon2rrd
To convert nmon output files to rrdtool format, you need the nmon2rrd filter.
| Download |
Date |
Comments |
nmon2rrdv12g.tar |
March 9th 2009 |
User supplied fixes for nmon12e output - with thanks |
test.nmon.gz |
Old |
Test file for nmon2rrd. If you get no graphs or problems use this to test the scripts, nmon2rrd, rrdtool etc.
Most failures are 1) not capturing enough data snapshots and 2) not checking the log files for errors |
nmon2rrdv10.0.tar.gz |
Old |
Older version that may help people collecting data from AIX 4 |
Example nmon2rrd usage
Mr Bruce Spencer On the Performance Tools Forum at this link
created a couple of scripts that illustrate how the nmon2rrd tool could be automated to convert nmon data files into web pages. All you need to do is to get the nmon file(s) into a directory on a web server, and the script automates everything from there. Thanks Bruce
- Part 1
- shows how to automate the collection, conversion, organization and display of daily nmon data from multiple servers into web pages using the nmon2rrd tool.
- Part 2
- extends Part 1 to include long term trend charts.
- Part 3
- create webpages using nmon2web
External data gatherer for collecting Shared Ethernet Adapter (SEA) Stats.
This is an external data gatherer shell script to collect the Shared Ethernet Adapter states that are normally missing from nmon or any other tool. The stats can only be found via entstat AIX command
Setup is:
- export TIMESTAMP=0
- export NMON_SNAP=sea.ksh
- and have this script in the path - sea.ksh

- edit the sea.ksh file to collect data about your adapter - the script by default captures data about en3. Use the VIO Server command: lsdev -virtual to find your SEA name.
- newer script that allows multiple SEA adapters to be monitored - you need to have multiple copies of the file called from a master one and each have a different SEA number at the top of the script - sea2.ksh

Merge the resulting sea.log with the nmon output file with: cat nmonfile.nmon sea.log >merged.nmon
Then process with the nmon analyser as normal - you will find a SEA section in the spreadsheet.
In testing read and write is nearly identical because I FTPed through the SEA and it reads and writes the data from virtual to physical. It peaked at 12 MB/second = 100 Mbit Ethernet. nmon was doing snapshots once a second to make life easier. One issue has not been solved is the stats are per period rather than per second but it is a good start - this is because the script does not know the number of seconds between invocations.
Shared Ethernet Adapter (SEA) Stats monitoring on the command line
Here is a script (based on sea.ksh) that just outputs to the screen the details once a second, just as the sea.ksh script above will record to a file.
If en8 is yout SEA the just type: seastat en8
Here is the script seastat
Script to find the peak values in many nmon files
Picture the scene, you have hundreds of captured nmon files and some where in them all there is the peak that you want to investigate further - but which file is it in?. Use this script to find the maximum of the statistic you are interested in so you don't have to analyze every single file looking for the peaks. Kenneth Lobb at IBM had this problem, wrote this script to make life simpler and then agreed to share it.
Here is the Perl script find_max_nmon_val.pl
nmon Introductory Workshop - Free and Online
|
Get the details about nmon from the developer himself. This is the details behind nmon, why it was developed, the principles, some of the ways to use it and the frequently asked questions. This presentation is 64 slides with an Audio commentary by the developer for each slide.
This presentation has been presented at conferences which are internal and external - roughly 90 minutes.
Take this Link - nmon Introduction Workshop |
The postings on this site solely reflect the personal views of the authors and do not necessarily represent the views, positions, strategies or opinions of IBM or IBM management.
Back to AIX Home via space
Or goto Linux on Power Home via space