How eHealth calculates total physical memory utilization on Solaris

Document ID : KB000030440
Last Modified Date : 14/02/2018
Show Technical Document Details

Question:

Which command from Solaris matches the physical memory utilization report from eHealth?

Answer:

echo '::memstat' | mdb -k

 

Question:

What is the formula used by eHealth to calculate physical memory utilization?

Answer:

Physical Memory Utilization  decode((memTotalReal.0 * 1024 ),0.00,0.00,(((100.0)*((memTotalReal.0 - memAvailReal.0) * 1024 ))/NULLIF((memTotalReal.0 * 1024 ),0))) 

 

Here is an example from an eHealth report that is monitoring Solaris 10 with SystemEDGE 5.8.2 installed. 

  

Physical Memory Free

Physical Memory Used

Physical Memory Utilization

Sample Time

Delta Time

(bytes)

(bytes)

%

4/25/2015 12:57:53 AM

300

1715347328

2327756800

57.57350159

4/25/2015 01:02:53 AM

300

1715314560

2327789568

57.57431793

4/25/2015 01:07:52 AM

299

1715396736

2327707648

57.5722847

 


  

 

1.  Command output:

# echo '::memstat' | mdb -k
Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                     135015              1054   26%
Anon                        41222               322    8%
Exec and libs                5253                41    1%
Page cache                 125744               982   24%
Free (cachelist)            99920               780   19%
Free (freelist)            106231               829   21%
Total                      513385              4010
Physical                   493543              3855

2.  You see:

- The Physical Memory Used and Physical Memory Utilization from eHealth report are close to the value of “Kernel + Anon + Exec and libs + Page cache” from the command.
- Physical Memory Free is “Free (cachelist) + Free (freelist)”.

3.  Using the sysEdge MIB, eHealth can report the same Memory Utilization as memstat does.