Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: sga_max_size - pre-allocated at instance startup?
deebeeay_at_gmail.com <deebeeay_at_gmail.com> wrote:
> Is sga_max_size pre-allocated in memory at instance startup?
>
> I can't seem to find a definitive answer from docs or the web. Some
> suggest yes but only on certain OSs.
I can shed light on this as I was also dismayed by the woefully vague documentation and opened a service request to get the word from the source.
We asked specifically for AIX and the answer was: yes, all the shared memory in SGA_MAX_SIZE is allocated at instance startup, but only SGA_TARGET of it is actually used.
The documentation states that on Windows and Solaris the amount of allocated shared memory will change dynamically with SGA_TARGET.
From that and the handwaving in the documentation ('On some UNIX platforms that do not support dynamic shared memory') I would guess that most UNIX platforms will have it like AIX.
This is a little aggrevating as AIX is a UNIX platform that does support dynamic shared memory.
You can try it out by setting SGA_MAX_SIZE different from SGA_TARGET and use the ipcs command to see how much shared memory is actually allocated.
However, even if all the shared memory is allocated at instance startup, that is not a problem because as long as it is not actually accessed, it will get paged out and stay there.
Yours,
Laurenz Albe
Received on Fri Mar 03 2006 - 02:15:24 CST