help with vmstat output

Hi all.
I need some assistance with my vmstat output.

We have several oracle db's running on our solaris machine:

SunOS rcworaprd 5.9 Generic_112233-07 sun4u sparc SUNW,Sun-Fire-480R

Recently I bumped up our main Oracle database to use 6 GB instead of 4 GB as vmstat output was showing I had over 5 GB free memory... After I completed that I noticed swap space dropped to about 60MB free but free memory didn't. I kind of assumed that the free memory would drop 2 GB but it stayed the same. I added a swap file of 1 gb and now swap free shows 900 MB.

Can anyone give me some detailed instructions on what I should be looking for in my vmstat output. I'm pretty new with Solaris admin.

Thanks

Here's a smaple of my current vmstat output:

kthr      memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr s0 s1 sd sd   in   sy   cs us sy id
 0 0 0 893728 5775000 3444 0 22925 0 0 0 0  0 673 0  0 1237 7285 1229 57  7 36
 0 0 0 893728 5774280 2816 917 19781 0 0 0 0 0 657 0 6 1288 9245 1459 62  6 31
 0 36 0 893704 5771968 1415 75 12283 0 0 0 0 0 696 0 0 1354 9229 2117 60  4 36
 0 0 0 894672 5768056 522 920 848 0 0 0  0  0 112 0 19  788 33483 1359 67 5 28
 0 0 0 895600 5761152 434 67 677 0 0  0  0  0 124 0  2  665 16838 1274 59 3 38
 0 2 0 892392 5751880 420 963 732 0 0 0  0  0 169 0  3  967 16859 1581 66 7 27
 0 1 0 890664 5745408 194 38 685 0 0  0  0  0 101 0  3  763 17101 1473 65 2 32
 0 0 0 892312 5741992 250 0 728 0  0  0  0  0 195 0  3 2515 24245 5847 63 5 32
 0 1 0 904616 5749352 233 500 685 8 8 0  0  0 221 0  3 2879 31744 7386 65 10 25
 0 1 0 926408 5768832 210 957 1194 8 8 0 0  0 126 0  6 2827 38939 7373 61 8 30
 0 0 0 926408 5765640 95  0 681 0  0  0  0  0 182 0  6 3595 36068 7633 81 8 10
 0 1 0 925008 5762032 146 465 677 0 0 0  0  0 186 0  1 3100 29431 6172 87 5  8
 0 0 0 926376 5760080 143 1124 597 0 0 0 0  0 77  0  4 3671 34577 7111 82 10 7
 0 1 0 926144 5756920 70 29 561 0  0  0  0  0 393 0  5 4878 32399 10210 71 13 16
 0 2 0 927664 5756624 34 12 386 0  0  0  0  0 219 0  0 1077 15281 2344 56 2 42
 0 0 0 929464 5755784 41  0 681 0  0  0  0  0 89  0  5  874 19636 1807 64 5 32
 0 0 0 929488 5752136 278 9 72  0  0  0  0  0 318 0  5 1322 12216 2393 81 2 17
 0 0 0 929216 5750232 2  35 16  0  0  0  0  0 11  0  0 1898 18062 2900 91 8  1
 1 0 0 931752 5751768 3 123  4  0  0  0  0  0  8  0 22 3776 23215 6599 87 10 3

looks like your ammendment has not still been effective in oracle. I'm not an oracle expert, but here are few things which may help:

You have a lot of Page-In (pi) which is showing something really eating up your real memory in terms of capture and not being released up, even though the page schedular does it at sometime to release those pages not in use since last count.

suddenly there is a number in 'b' column as well, which means that some of the processes are put in the wait list for the resources to be free'd. This looks anonymous who's taking all this much.

In actual, if you have taken in consideration with Oracle ( like increasing the shmmax and others ) then Oracle should be using that sga area. if you share something like prstat and psrinfo with details, it might help who's taking up the pretty expensive resources .

Regards,