nmon for Linux - nmon is short for Nigel's performance Monitor for Linux on POWER, x86, x86_64, Mainframe & now ARM (Raspberry Pi)
This systems administrator, tuner, benchmark tool gives you a huge amount of important performance information in one go. It can output the data in two 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.
- You can display the CPU, memory, network, disks (mini graphs or numbers), file systems, NFS, top processes, resources (Linux version & processors) and on Power micro-partition information.
- For lots of examples, see the "Screen shots" from the left menu.
- As you can see on the left lmon12e now in colour
- Save the data to a comma separated file for analysis and longer term data capture.
- Use nmonchart (from this website) to generate a Googlechart webpage.
- Use this together with nmon Analyser Microsoft Excel 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 or other database for your own analysis
- nmon is a single binary for
- each operating system (Red Hat, SUSE, Ubuntu, Fedora, OpenSUSE etc.) and
- each platform (Power, Mainframe, arm, x86 or x86_64).
- Installing is very easy - just start the right executable.
- Or rename the version you need to /usr/bin/nmon and then type: nmon
- Why use five or six tools when one free tool can give you everything you need!!
- For the pre-compiled versions - click on Download
- For the source code & compiling - click on Compiling nmon
When using nmon via a terminal session you can see the performance data directly on the screen and updated every second. You should if possible, stretch the terminal window to be longer to see more stats at one time. Here is a sample example from a Raspberry Pi 2 running Ubuntu 15.10 and nmon v16b. I typed "cCUd" to display this data.
For more screen shots take the "Screen shots" left-hand side menu option or click Here.
Once you save the nmon data you have a number of options to analyser and graph the statistics.
Now - Open Source
nmon for Linux is a single source code file of 5000 lines and single makefile. This will enable you to compile nmon for your precise Linux version (if you can't find what you want in the binaries) and open a few other possibilities:
- Fixing my code - be gentle, please.
- Removing magic numbers i.e. constants that can catch us out as machines get larger
- Developing for some strange environments like machines with no disks, blades that boot from NFS, internal Linux based engines within disks subsystems, embedded machines.
- Who knows we may get nmon for Linux within the Linux Distro's - any one know how to go about that?
Thanks for your support, suggestions, testing and I hope this starts a whole new wave of development and interest.
- nmon for Linux was an internal project at IBM for many years and was released to open source under GPL on 27th July 2009.
- Sourceforge.net is being used to host the project, see http://sourceforge.net/projects/nmon
- nmon for AIX does has a similar online look, file format but was always complete different source code.
- It is now integrated into AIX topas command from
- AIX 5.3 TL09
- AIX 6.1 TL02.
- nmon for AIX is not open source.
- For more information nmon for AIX Wiki