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 -> Discontiguous SGA under Solaris 2.5.1? Why?

Discontiguous SGA under Solaris 2.5.1? Why?

From: Jim Reynolds <reynolds_at_vu-vlsi.ee.vill.edu>
Date: 1997/05/18
Message-ID: <5lnl6f$e1g@vu-vlsi.ee.vill.edu>#1/1

We're running Oracle 7.3.2 on a two processor Sun Ultra 2 with 512MB RAM. Here are some parameters from /etc/system:

set shmsys:shminfo_shmmax=402653184
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10

Is 384 MB the largest size of the shared memory space, or the largest size of a single segment of shared memory (of which there can be up to 10).

Either way, we have a 60MB SGA and would like to have around 300MB of buffer cache. The problem is that we're stuck at ~256MB, and the shared memory usage refuses to go any higher(i.e. oracle won't start up). So we ran tstshm-- the output is very confusing, and I'm wondering if it's even working correctly:

Number of segments gotten by shmget() = 50 Number of segments attached by shmat() = 10 Segments attach at lower addresses
Maximum size segments are not attached contiguously!   Segment separation = -2621440 bytes

Default shared memory address = 0xef300000
Lowest shared memory address  = 0xfff80000
Highest shared memory address = 0xef300000
Total shared memory range     = -279445504
Total shared memory attached  = 20971520
Largest single segment size   =  2097152
Segment boundaries (SHMLBA)   =     8192 (0x2000)

This seems to indicate that oracle is only using ~20MB of shared memory, which is not the case-- it's more like 256MB. And it also appears that oracle is getting 2MB chunks of memory, as opposed to one large chunk which it should.

Here's the output from ipcs -mb:

Shared Memory:
m 600 0x0b21b0d5 --rw-rw---- oracle dba 256040960

That's about as high as we can get it (to within 1%) that will still allow oracle to start. You'll notice that the memory addresses don't jive with what tstshm is reporting. And neither do the sizes. Also, oracle reports multiple segments while ipcs reports a single one.

We're going to try increasing the number of segments from 10 to 100, and we susepct that will allow us to further increase the SGA. However, I'd like to understand why a) oracle is grabbing small chunks of memory and b) how to read the output of tstshm (an oracle command) so that it makes sense.

Any help would be appreciated. Thanks.

Jim. Received on Sun May 18 1997 - 00:00:00 CDT

Original text of this message

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