How to read memory information for ps aux?

From: Cohen, Andy (Andy.Cohen@cognex.com)
Date: Fri Apr 07 2006 - 15:28:06 EDT


We're trying to figure out memory usage on our DS20E. We're running
Tru64 5.1 PK6 utilizing swap in eager mode with 3 GB of RAM and 6 GB of
swap. I'm told that "ps aux" has a few columns of interest:
 
%MEM -- pct. of physical memory the process is using
VSZ -- virtual memory (swap) used by that process
RSS -- how much physical memory is being
 
However, when I review the output from a 'ps aux' the numbers don't
really add up. I presume it's a bit more nuanced than what the
definitions above are.
 
Here's a snippet:
 
USER , PID, %CPU, %MEM, VSZ, RSS, TTY ,S ,STARTED ,
TIME, COMMAND
root , 0, 2.4, 3.6, 3.81G, 111M, ?? ,R < , Apr 06,
27:16.21, [kernel idle]
oracle , 27028, 1.8, 0.1, 1.70G, 2.6M, ?? ,S , Apr 06,
9:15.92, oraclepsprod (LOCAL=NO)
cnx_oadm ,218482, 1.6, 0.0, 4.11M, 808K, ?? ,S N ,08:01:01,
6:47.15, /sbin/vdump -0vf - -D
/disk04_SAN/oradata/psprod/hotback/current
oracle ,292090, 1.2, 0.1, 1.70G, 3.7M, ?? ,S ,13:19:23,
0:22.34, oraclepsprod (LOCAL=NO)
root ,307634, 0.5, 0.2, 8.99M, 5.8M, pts/0 ,S + ,13:46:51,
0:14.80, top
cnx_oadm ,218493, 0.4, 0.0, 2.20M, 64K, ?? ,R N ,08:01:02,
2:14.06, rsh florida cd /disk04/oradata/psprod_from_odin/hotback/current

cnx_oadm , 95316, 0.3, 0.0, 2.48M, 352K, ?? ,S N ,00:01:00,
1:10.32, /home/app/oracle/local/HIGH_CPU_PROC_CHECK.sh 90
psoft , 13397, 0.3, 0.8, 94.9M, 26M, ?? ,S , Apr 06,
2:17.10, PSPRCSRV -C dom=PSUNX_58581 -g 1 -i 101 -u odin.cognex.com -U
root ,312251, 0.0, 0.0, 2.27M, 312K, ?? ,S ,14:07:40,
0:00.01, telnetd
root ,312534, 0.0, 0.0, 2.48M, 96K, pts/2 ,R + ,14:09:02,
0:00.00, -ksh (ksh)
root ,312536, 0.0, 0.3, 9.76M, 7.8M, pts/2 ,R + ,14:09:02,
0:00.04, ps aux
cnx_oadm ,312535, 0.0, 0.0, 2.02M, 184K, ?? ,S N ,14:09:01,
0:00.00, sleep 5
oracle ,248075, 0.0, 0.1, 1.70G, 2.2M, ?? ,I ,10:10:29,
0:00.10, oraclepsprod (LOCAL=NO)
oracle , 52258, 0.0, 0.1, 1.70G, 1.7M, ?? ,I ,15:03:45,
0:40.64, ora_arc1_psprod
oracle ,253733, 0.0, 0.1, 1.70G, 2.4M, ?? ,I ,10:33:06,
0:00.38, oraclepsprod (LOCAL=NO)
oracle , 57727, 0.0, 0.1, 1.70G, 2.0M, ?? ,I ,16:34:20,
0:00.35, oraclepsprod (LOCAL=NO)
 
When I add up the number in RSS (taking into account K and M) I get (at
the time I ran it) less than 800 M. This seems low to me. Is it just
active memory versus total allocated physical memory?

Also, the VSZ column, when added up, comes to a value far exceeding the
amount of swap space we have. In the example above you can see that the
oraclepsprod processes have a VSZ value of 1.70G. I know that each one
of those isn't reserving 1.7G of swap. Does this have something to do
with using shared memory? The [kernel idle] process has an RSS of 111M
and a VSZ of 3.81G.

We trying to get a good handle on our memory utilization so any help
with this is most appreciated.

Thank you!
Andy



This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:50:29 EDT