AIX

 View Only

 njmon / nimon

Jump to  Best Answer
Joerg Kauke's profile image
Joerg Kauke posted Tue November 12, 2024 03:10 AM

Dear community, dear Nigel.

I have some problems to interpret the measurements for some of the stats.

For example: memory
real_total = 2097152
real_system = 867004
real_user = 725873
real_process = 977307
real_free = 153747

shouldn't be "system + user + process + free" equal the total?
And where is the Filesystem Cache known from the old nmon?

Do anybody of you an explanation of minimum the key values delivered by njmon?

I'm just starting with nimon and in my configuration I use telegraf, prometheus and grafana. And I have a lot of problems understanding the values and can't find

equivalents in nmon. I found the list of values in a text file offered to download on "njmon and nimon listing tags measures statistics"  

But there is no hint written to the measurements and I don't no where it's coming from.
Maybe someone could help me out here?

Many thanks in advance for your support.

Kind regards

Joerg

nigel griffiths's profile image
nigel griffiths  Best Answer

Hi Joerg,

For AIX the njmon or nimon (same program different data format in the output) the bulk of the stats are coming from the libperfstat library and are documented in the AIX API for C code here: /usr/include/libperfstat.h

This is actual stated in the link you included.

Or you can the same details but with lots more description in the AIX manual pages:

 https://www.ibm.com/docs/el/aix/7.3?topic=files-libperfstath-file

Memory from a AIX (or UNIX) Kernel view point is far more complex than most people realise.

Each memory pages can be in many classes and modes at the same time.

In your list the real_user and real_process pages is very confusing because they over lap and some calculated.

Read the descriptions.  You will find: process = total - free - numperm - system.

For njmon numperm is memory measure (if you check the njmon code that is from the perfstat_memory_total_t)

and the statistic called: numperm

njmon is not a large code base ~4000 lines in the file.

The code is pretty simple but I might be a little "expert blind" having written C code for 40 years :-)

For example, numperm only appears 3 times because it is found in three different measures

  1. memory
  2. vminfo
  3. memory_pages

njmon effective just dumps the stats from the many libperfstat function interface and uses the same names as the C structures to make back-tracking them simple.

I hope this helps, Cheers Nigel

Joerg Kauke's profile image
Joerg Kauke

Thanks Nigel, that will help.
I'll will check the libperfstat link you sent and try to figure out what is the best for a dashboard.

kind regards,
Joerg