Solaris 10 - Memory / Swap

Hi all

Got myself in a pickle here, chasing my own tail and am confused. Im trying to work out memory / swap on my solaris 10 server, that Im using zones on.

Server A has 32Gb of raw memory, ZFS across the root /mirror drives.

# prtdiag -v | grep mem = Memory size: 32768 Megabytes
# sar -r 11 shows
09:44:23 freemem freeswap
09:44:24 435917 12672432

Freemem ( pages ) x 4 / 1024 /1024 = 1Gb. However, I was expecting to see 32Gb ??? The server isnt being used, i.e. nothing running at the moment e.g.

# vmstat 1 10
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m2 m2 m2 rm in sy cs us sy id
0 0 0 7892184 4995808 15 57 10 10 10 0 0 3 3 3 -0 915 194341 894 1 0 99
0 0 0 6336576 3495184 13 56 0 0 0 0 0 0 0 0 0 895 1941052 672 5 1 93
1 0 0 6336344 3495040 2 10 0 0 0 0 0 0 0 0 0 918 1939210 675 5 2 94
0 0 0 6336344 3495040 2 2 0 0 0 0 0 0 0 0 0 959 1938490 790 5 1 94
 
# swap -s
total: 828456k bytes allocated + 162592k reserved = 991048k used, 6336824k available

[/FONT]

If I go onto another server, Server B, a 6800 chassis runing solaris 10, with 16GB of Physical memory, no ZFS.

# sar -r 1 1
09:52:04 freemem freeswap
09:52:05 1850157 42102320

1850157 *4/1024/1024 = 7Gb
 
# swap -s
total: 595800k bytes allocated + 319040k reserved = 914840k used, 21040344k available

Im totally confused. Can someone give me a quick guide /tip to working out memory / swap and how to calculate what is being used / free ?

SBK

Run these commands to figure out where your RAM is used:

prstat -s rss -Z -c 1 1
echo '::memstat' | mdb -k