[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to read memory information for ps aux?



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