Showing results for 
Search instead for 
Did you mean: 

share mem

K.C. Chan
Trusted Contributor

share mem

All, could someone give a short explaination about share mem? How does oracle uses it? What affect does it have on free memory when you have 2Gb of memory but your shmmax is set to 3Gb? I am asking this because I have a solaris box with 2Gb of physical memory and shmmax is set to 3Gb; the only app running is oracle with SGA size of 100Mb and the share mem for oracle processes is 120Mbytes. But according to top, I have only about 64 Mbytes free. The number doesn't add up. What chewed up my memory?
Reputation of a thousand years can be determined by the conduct of an hour
harry d brown jr
Honored Contributor

Re: share mem

A good place for oracle links is:

And a whitepaper:

live free or die
Live Free or Die
Andreas D. Skjervold
Honored Contributor

Re: share mem


Shared Memory and Free memory, this is puzzling me too; I can try to give you an explanation of the Oracle part of it, but the OS part,and the top reporting; anyone?

To start with SHMMAX; this value set the largest allovable shared memory SEGMENT size. If set to a low value, a larger shared memory area would have to be constructed using several SEGMENTS, thus using more identifiers and semaphores.

Set to physical memory or more, you'll avoid this.

In your case SHMMAX of 3GB, your SGA is only one segment of 100MB size.

The use of Shared memory is as the word say, shared between the different Oracle processes; background processes (dbw,lgrw,pmon,smon,reco and arch) and user processes if running MTS.

The different user connections themselfs take up memory in addition to the SGA area.

But how does this consume all of your 2 GB of RAM?

HP-UX takes its share; buffering, and possibly psuedoswap? (if this takes RAM at all?)

Beats me!


Only by ignoring what everyone think is important, can you be aware of what everyone ignores!
A. Clay Stephenson
Acclaimed Contributor

Re: share mem

Hi Guys:

You can't use top to tell you much about this. Top only knows about memory used by processes; it knows nothing about kernel data structures like buffer cache.

You really need a tool like Glance for this. You can install the Trial Version to see if this is what you need.

If it ain't broke, I can fix that.