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).

Figure 10: Nmon analyser – CPU and I/O transfer plot for NPB FT example.
Figure 11: Nmon analyser – percent CPU usage for NPB FT example.

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.

Figure 12: NMONVisualizer – percent CPU usage for NPB FT example over the entire interval.
Figure 13: Nmon analyser – percent CPU usage for NPB FT as a function of time.

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

  1. nmon: http://nmon.sourceforge.net/pmwiki.php
  2. CSV file: http://en.wikipedia.org/wiki/Comma-separated_values
  3. atop: http://www.atoptool.nl/
  4. htop: http://hisham.hm/htop/
  5. vmstat: http://en.wikipedia.org/wiki/Vmstat
  6. Dstat: http://dag.wiee.rs/home-made/dstat/
  7. mpstat: http://en.wikipedia.org/wiki/Mpstat
  8. "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
  9. Curses: http://en.wikipedia.org/wiki/Curses_(programming_library)
  10. nmon binaries: http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
  11. NAS Parallel Benchmarks: http://www.nas.nasa.gov/publications/npb.html
  12. Slabs: http://en.wikipedia.org/wiki/Slab_allocation
  13. "Oracle, Memory, and Linux" by Christo Kutrovsky: http://www.slideshare.net/khailey/christo-kutrovsky-oracle-memory-linux
  14. Active vs. inactive memory: http://stackoverflow.com/questions/18529723/what-is-active-memory-and-inactive-memory
  15. Mapped memory: http://www.makelinux.net/alp/037
  16. Memory management: http://www.tldp.org/LDP/tlk/mm/memory.html
  17. Sysstat: http://sebastien.godard.pagesperso-orange.fr/
  18. nmon_analyser: http://www.ibm.com/developerworks/aix/library/au-nmon_analyser/
  19. NMONVisualizer: http://nmonvisualizer.github.io/nmonvisualizer/
  20. pyNmonAnalyzer: https://github.com/madmaze/pyNmonAnalyzer
  21. dygraphs: http://dygraphs.com/
  22. nmon2rrd: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon2rrd
  23. nmon2web: http://ca.astound.net/~baspence/AIXtip/nmon2web.htm

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Charly's Column: Nmon

    Nmon monitors system information. You can use the Nmon’s capture mode to output data to a file, then extract the values you need with a script.

  • Troubleshooting

    It's not easy for beginners to solve problems in an operating system they haven't used before. We show you how to deal with some common issues.

  • News

    Updates on Technologies, Trends, and Tools

comments powered by Disqus
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.

Learn More

News