IBM Support

Understanding differences in memory utilization statistics for nzstats and sar commands

Question & Answer


Question

My system's '% Used Real Memory' is nearly 100%; should I be concerned? 

Answer

When reviewing the output of the nzstats -type host command or the sar -r command, you might find periods of time when the real memory utilization is at or near 100%.  This is not necessarily cause for concern because both commands do not report available memory, but rather, they report only memory that is truly free. 

Linux will try to cache disk blocks read or written in memory when the memory is not in use.  When a new request comes in and requires memory, it is granted from this cache or from the free list.   

The output of the nzstats -type host command summarizes the amount of used and free memory without determining if the used memory is buffered or really in use.  In the following output, '% Used Real memory 99.87 %':
Field Name           Value
-------------------- --------------
Real Memory          16621664 KB
Free Real Memory     21000 KB
Used Real Memory     16600664 KB
% Used Real Memory   99.87 %
Shared Memory        2101759 KB
Free Shared Memory   1999364 KB
Used Shared Memory   102395 KB
% Used Shared Memory 4.87 %



This is also reported when reviewing the sar -r command output.  For example, the fourth column in the output below is memory utilization.  You can see that it is quite high at 98.99%.
sar -r | tail
01:11:01 PM 20928 2044792 98.99 23488 1784292 1380688 66.84
01:12:01 PM 20952 2044768 98.99 23556 1784484 1380128 66.81
01:13:01 PM 19912 2045808 99.04 23656 1784384 1384708 67.03



The nzstats and sar commands do not distinguish the amount of cached disk blocks. To fully identify available memory, run the following free command:

free -m

This will produce a table of information, similar to the one shown below:

 
total
used
free
shared
buffers
cached
Mem: 
2017 
1999
18 
23 
1743 
-/+ buffers/cache 
 
393 
1623 
 
 
 
Swap: 
0
0
 
 
 


The free command output shows that 1743 blocks of the 1999 in use are for caching purposes.  On the "-/+ buffers/cache" line, you can see that 1623 of these cached blocks are in fact free (or available).

If the nzstats -type host command is reporting a high memory utilization and it is *not* due to cached disk blocks, open a support incident.
[{"Product":{"code":"SSULQD","label":"IBM PureData System"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":null,"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.0.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Historical Number

NZ860748

Document Information

More support for:
IBM PureData System

Software version:
1.0.0

Document number:
463517

Modified date:
17 October 2019

UID

swg21571298