Many administrators use NMON to collect performance data on AIX systems. The collected data can then be visualized graphically with the NMON analyzer for example. Alternatively, one can of course also use njmon. Sometimes you want to take a quick look into an NMON file on the AIX system itself. Of course, this can be done with grep, awk, and other standard UNIX utilities. However, the appropriate command line must always be considered and typed in and the output is not always very readable.
For such a quick look into an NMON file, we have provided the script nmon_printer in our download area. With the nmon_printer you can easily list which data records have been collected in the NMON file:
$ nmon_printer -l aix01_200718.nmon CPU_ALL - CPU Total aix01 CPU01 - CPU 1 aix01 CPU02 - CPU 2 aix01 CPU03 - CPU 3 aix01 CPU04 - CPU 4 aix01 CPU05 - CPU 5 aix01 CPU06 - CPU 6 aix01 CPU07 - CPU 7 aix01 CPU08 - CPU 8 aix01 MEM - Memory aix01 MEMNEW - Memory New aix01 MEMUSE - Memory Use aix01 PAGE - Paging aix01 ... $
To display the data records, in addition to the NMON file, you must also specify the desired data record to be displayed, upper or lower case is irrelevant. Here is an example of CPU_ALL:
$ nmon_printer aix01_200718.nmon cpu_all CPU_ALL Timestamp User% Sys% Wait% Idle% Busy PhysicalCPUs CPU_ALL 00:05:15 17-JUL-2020 1.2 3.0 0.1 95.7 4.2 8 CPU_ALL 00:10:15 17-JUL-2020 1.3 2.7 0.0 96.0 3.9 8 CPU_ALL 00:15:15 17-JUL-2020 1.0 2.3 0.1 96.7 3.3 8 CPU_ALL 00:20:16 17-JUL-2020 5.1 3.0 0.1 91.8 8.2 8 CPU_ALL 00:25:16 17-JUL-2020 1.2 2.7 0.0 96.0 3.9 8 CPU_ALL 00:30:16 17-JUL-2020 1.1 17.5 0.1 81.3 18.5 8 CPU_ALL 00:35:16 17-JUL-2020 1.1 5.8 0.0 93.1 6.9 8 ... $
In some cases, a data record has so many fields that long lines have to be broken and the output becomes somewhat confusing. The data record LPAR has e.g. 23 fields! In such cases, or if you are only interested in certain fields, you can specify the desired fields with the ‘-f‘ option. You can either specify the desired fields separated by commas:
$ nmon_printer -f 0,1,2,13,14,15 aix01_200718.nmon lpar LPAR Timestamp PhysicalCPU EC_User% EC_Sys% EC_Wait% LPAR 00:05:15 17-JUL-2020 0.037 1.23 2.95 0.00 LPAR 00:10:15 17-JUL-2020 0.034 1.28 2.66 0.00 LPAR 00:15:15 17-JUL-2020 0.029 1.03 2.25 0.00 LPAR 00:20:16 17-JUL-2020 0.064 5.14 3.01 0.00 LPAR 00:25:16 17-JUL-2020 0.035 1.21 2.69 0.00 LPAR 00:30:16 17-JUL-2020 0.150 1.08 17.46 0.02 LPAR 00:35:16 17-JUL-2020 0.063 1.13 5.77 0.00 LPAR 00:40:16 17-JUL-2020 0.030 1.13 2.24 0.00 LPAR 00:45:16 17-JUL-2020 0.030 1.06 2.34 0.00 ... $
Or you can also specify ranges (e.g. 0-2 or 13-15):
$ nmon_printer -f 1,5-7 aix01_200718.nmon ioadapt Timestamp fcs1_read-KB/s fcs1_write-KB/s fcs1_xfer-tps 00:05:15 17-JUL-2020 0.0 27.3 3.0 00:10:15 17-JUL-2020 0.0 0.0 2.6 00:15:15 17-JUL-2020 0.0 13.6 2.8 00:20:16 17-JUL-2020 0.0 13.6 2.3 00:25:16 17-JUL-2020 0.0 13.7 2.3 00:30:16 17-JUL-2020 27.3 4982.5 89.4 00:35:16 17-JUL-2020 13.7 27.3 4.1 00:40:16 17-JUL-2020 0.0 13.6 2.6 00:45:16 17-JUL-2020 0.0 13.6 2.6 ... $
The fields are counted starting from 0.