Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Dynamic SGA and pinned

Re: Dynamic SGA and pinned

From: Howard J. Rogers <hjr_at_dizwell.com>
Date: Mon, 09 Aug 2004 08:14:31 +1000
Message-ID: <opscfpehr73d8uqx@shostakovich.dizwell.com>


On Sun, 8 Aug 2004 12:19:09 +0200, Christian Antognini <christian.antognini_at_trivadis.com> wrote:

>

[snip]
>

Let's just try and simplify, shall we? Because screen capture after screen capture with little by way of explanation on the way through I find rather difficult to work with.

You say your O/S reports (with ipcs -m) 5 memory allocations to Oracle instances:

100667392 - 10g (+ASM)
542130176 - 9i of some sort
536879104 - 10g (A1010)
545259520 - 9i of some sort
69578752 - 8i

Without being able to tie up the precise memory allocation your O/S reports to the specific instance whose details you then provide, the whole exercise is more tricky than I'd like. I can't pin down the 9i examples, because they are too similar, and and thus not distinguishable (I may have missed the crucial clue in your post, of course). The 8i instance is irrelevant, since it doesn't have a dynamic SGA feature. Which leaves us the two 10g SGAs to discuss.

Well, the first one is also irrelevant. An ASM instance almost certainly computes SGA_MAX_SIZE from the actually allocated pool sizes, rather than the other way around, and hence one would expect the pools to match the SGA_MAX_SIZE, and for both to be what's actually allocated (because the pools themselves are fully in use). Your figures bear this out:

Total System Global Area 96M

pool totals                      about 72M
sga_max_size                         96M
O/S reported allocation: 96M

So the ASM instance isn't a very good example to use one way or another, though what the O/S reports matches the SGA_MAX_SIZE rather than the 'pool totals' allocations. However, there's not enough in it to be significant, I suspect. What about your other 10g instance?

Total System Global Area 512MB

sga_max_size                     512M
pool totals                         about 158MB
O/S reported allocation: 512MB

So here we see the O/S reporting 512MB has been allocated... which is precisely what SGA_MAX_SIZE says should be allocated. Yet only about 158MB is actually allocated to the various caches. That disparity (between what's actually in use, and what's allocated) is exactly what I was talking about. My "claim" was that if you set SGA_MAX_SIZE to X, then X is actually allocated, even though only Y is actually used. Precisely what your figures report.

Now I may have misunderstood your figures and where they're coming from. And if you were posting to suggest that what I'd claimed was not true for Linux (it isn't clear to me what you were actually arguing for or against), then I probably have misunderstood a lot.

But if the figures I've extracted are accurate and mean what I think they mean, then you've just rather nicely proved that on Linux (as on Windows), the dynamic SGA isn't.

Regards
HJR Received on Sun Aug 08 2004 - 17:14:31 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US