All-purpose admin tool
Secondary Nmon Applications
Several applications exist for postprocesing nmon data. The first is called nmon_analyser
[18]. The tool developed by IBM is an Excel spreadsheet that processes .nom
files and outputs the results in tabs in a new spreadsheet. I won't cover all of the details in this article, but the tool is very easy to use. Just click on the Analyse nmon data button in the first spreadsheet tab, and it will prompt you for the input file.
The output spreadsheet contains plots, presented with the time series data, and metadata, presented as tabular data. I won't cover all of the tabs in the output spreadsheet because there can be many, but I will show two plots to give you an idea of what it produces.
The first chart in the spreadsheet is titled System Summary (Figure 10), and it presents two pieces of data. The first is the sum of the user and system CPU percentages, and the second is I/O transfers per second (roughly IOPS). Clicking through the spreadsheet tabs displays other data analyses, but the other plot I want to share shows percent CPU usage for user, system, and idle times (Figure 11).
A Java-based tool named NMONVisualizer [19] can take nmon data from one or more CSV files and create plots. To use it, you just start the application and open the .nmon
file; it then processes the data and creates a number of plots. The screen shot in Figure 12 shows a CPU chart of percent CPU usage by user, system, and wait time over the interval examined. The chart is only showing 80% CPU utilization because nmon continued to collect data after FT had finished running. All of the other tabs in Figure 12 contain other charts. For example, Figure 13 shows CPU usage for the system in the CPU over Time tab.
Other secondary applications are available as well. If you use Python, you can analyze nmon output data via pyNmonAnalyzer [20]. The tool massages the nmon CSV data to make it more amenable to spreadsheets and creates two HTML-based reports.
One report creates static graphs, and the other has interactive graphs powered by dygraphs [21]. Unfortunately, I couldn't get pyNmonAnalyzer to work on my CentOS 6.6 box, even with the Software Collection installed; perhaps you will have better luck.
The nmon2rrd
[22] tool converts the nmon CSV file to a website of graphs. I tried the tool, but it appears to work with the AIX version of nmon only. One last tool that might be useful is called nmon2web
[23], which creates web pages from nmon data. I haven't tried this application, but it sounds pretty interesting.
Summary
I'm a big proponent of command-line tools to help debug misbehaving nodes, because many times I only have command-line access to the node. In the previous two articles, I covered two classes of tools I use: top-like tools and stat-like tools.
In my experience, the most common user issue is performance – Why isn't my application running? Why isn't my application running fast? Why isn't my application running as fast as it did yesterday? Therefore, I need tools to help me examine node performance, so I need a combination of top- and stat-like tools, which is why I like using nmon.
Nmon can be used as a top-like tool to watch what is happening on the system, but you can also use it to capture system information that can be used to understand what the system is doing. The many nmon options monitor what is happening on the system, and some even produce ASCII charts. It's a great way to get a quick visual impression of what is happening in the system.
Nmon can also capture a great deal of information from the system and produce CSV files for postprocessing. However, the results are typically not easy to postprocess, so you need to use one of the tools mentioned in this article to visualize the data.
Give nmon a chance. I think you will like what it can do for you.
Infos
- nmon: http://nmon.sourceforge.net/pmwiki.php
- CSV file: http://en.wikipedia.org/wiki/Comma-separated_values
- atop: http://www.atoptool.nl/
- htop: http://hisham.hm/htop/
- vmstat: http://en.wikipedia.org/wiki/Vmstat
- Dstat: http://dag.wiee.rs/home-made/dstat/
- mpstat: http://en.wikipedia.org/wiki/Mpstat
- "Stat-like Command-Line Tools for Admins" by Jeff Layton, Linux Pro Magazine, issue 169, December 2014, pg. 36, http://www.linuxpromagazine.com/Online/Features/Stat-like-Tools-for-Admins
- Curses: http://en.wikipedia.org/wiki/Curses_(programming_library)
- nmon binaries: http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
- NAS Parallel Benchmarks: http://www.nas.nasa.gov/publications/npb.html
- Slabs: http://en.wikipedia.org/wiki/Slab_allocation
- "Oracle, Memory, and Linux" by Christo Kutrovsky: http://www.slideshare.net/khailey/christo-kutrovsky-oracle-memory-linux
- Active vs. inactive memory: http://stackoverflow.com/questions/18529723/what-is-active-memory-and-inactive-memory
- Mapped memory: http://www.makelinux.net/alp/037
- Memory management: http://www.tldp.org/LDP/tlk/mm/memory.html
- Sysstat: http://sebastien.godard.pagesperso-orange.fr/
- nmon_analyser: http://www.ibm.com/developerworks/aix/library/au-nmon_analyser/
- NMONVisualizer: http://nmonvisualizer.github.io/nmonvisualizer/
- pyNmonAnalyzer: https://github.com/madmaze/pyNmonAnalyzer
- dygraphs: http://dygraphs.com/
- nmon2rrd: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon2rrd
- nmon2web: http://ca.astound.net/~baspence/AIXtip/nmon2web.htm
« Previous 1 2
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.