Operating System - HP-UX
1834133 Members
2010 Online
110064 Solutions
New Discussion

Ideas for checking shared memory fragmentation

 
SOLVED
Go to solution
Jeffrey Davis_1
Frequent Advisor

Ideas for checking shared memory fragmentation

Hi all, I'm trying to update my understanding of shared memory functions/policy (now that we're experiencing shmem allocation problems) and I'd like your thoughts on how to check for shmem fragmentation.

My platform: N-class (UX-11.00) 5G RAM, 9G Dev swap, active in kernel: shmem=1, shmmax=212748365, shmseg=64

We are running oracle 11i and are trying to have three concurrent databases up and am experiencing problems occasionally with shmem allocation. i.e. on system startup all three will come up fine, no problems. Later if we bring one database down and up again, or a different one up, we get shmem cannot allocate space issues. So I'm trying to go through the routing of checking where we stand with shmem to see what our best course of action is.

I understand (i think) about the 1.75g limit on shmem, unless I am using shmem windows & *_magic implementations. Not exactly sure if I am using full *_magic implementation or not, since when I run the shminfo script (a great utility I got from HP-support, along with other shmem diag tools - check it out see attached)I see info for [shared space from window id 0 (global) for quadrant 2&3, and shared space from window id 1 (q3private)]. Not sure if all required patches are installed for support for shmem windows or *_magic, but do have the following installed: 11.00 PHSS_19866 (chatr +q3p enable), 11.00 PHKL_20995 (q3 private fix), 11.00 PHKL_22493

Anyway, your thoughts/observations on diagnosing shmem fragmentation & related issues. Also, has anybody run 'adb' against 11.00 to check for fragmentation and if so, how and what to look for?
I will try to attatch all 4 files about shmem util, not sure if it will work??
12 REPLIES 12
Jeffrey Davis_1
Frequent Advisor

Re: Ideas for checking shared memory fragmentation

Attatchments didn't go through. Here they are one at a time.
Jeffrey Davis_1
Frequent Advisor

Re: Ideas for checking shared memory fragmentation

Attatchment 2:
Jeffrey Davis_1
Frequent Advisor

Re: Ideas for checking shared memory fragmentation

Attachment 3:
Jeffrey Davis_1
Frequent Advisor

Re: Ideas for checking shared memory fragmentation

Attachment 4:
Krishna Prasad
Trusted Contributor

Re: Ideas for checking shared memory fragmentation

Jeffrey,

I don't think 1.75 is a limitation for memory segements running 64 bit applications. Are your databases 64 bit or 32 bit. If you are 64 bit you don't have the 1.75 limitation.

Positive Results requires Positive Thinking
Krishna Prasad
Trusted Contributor

Re: Ideas for checking shared memory fragmentation

Also, shmseg seems a little low for 3 DB. ( We run SAP and SAP also needs shared memory so yours may be ok.)

I have mine set to

shmmax 18000000000
shemni 256
shmseg 200

Positive Results requires Positive Thinking
Jeffrey Davis_1
Frequent Advisor

Re: Ideas for checking shared memory fragmentation

I forgot to mention that our oracle apps are 32bit apps.
ATT NIS Division
New Member

Re: Ideas for checking shared memory fragmentation

make sure you exit sqlplus or svrmgr before restarting
Krishna Prasad
Trusted Contributor

Re: Ideas for checking shared memory fragmentation

When we had to use 32bit apps and run more than one DB on the machine we had to lower all the shared memory segements or move a DB to different server.

How hard would it be to upgrade Oracle to 64bit? This is a better fix.
Positive Results requires Positive Thinking
Jeffrey Davis_1
Frequent Advisor

Re: Ideas for checking shared memory fragmentation

Hi all, Upgrading Oracle is not the answer. Our Oracle Apps are stuck at 32bits. Oracle won't have a 64bit app until rel.12. We just finished the upgrade to Oracle 11i and won't be considering going to 12 for quite some time. I'd like to understand more about how to look for fragmentation or other approaches.
Sanjay_6
Honored Contributor

Re: Ideas for checking shared memory fragmentation

Krishna Prasad
Trusted Contributor
Solution

Re: Ideas for checking shared memory fragmentation

Is one of your three DB's a test system?

If it is a test system consider lowering the SGA. If it is lightly used.

When we have ran two SAP systems on the same server and one was 32bit we had to lower all the shared memory parms for SAP as low as possible, along with the Oracle SGA. ( This will only help if it is lightly used. )

One option of course is to add more memory. The reason you can't start apps after shutting down is because one or all three of the apps have used all the shared memory available and had to swapout information and started to use physical memory at random. When this happens it takes pieces of each quadrant so when you start backup it can not get any contigous memory address in any quadrant to fulfil your shared memory request. So with 5 gb of memory divided by 4 you only start with 1.25 GB. You are not even at the 1.75 limit. Also keep in mind one of the quadrants takes some for the OS, so only 3 or the 4 gets 1.25.

My next question may be dump but I will ask it anyway. Is it possible to run your Database at 64bit and run your Oracle App at 32bit?

If I understand correctly Oracle 11i is your software app. What is the version of your DB engine? I think 9i is the highest DB release.
If you can run the database at 64bit it might help starting Oracle to allocated a big enough SGA. Your apps will of course continue to have the same problem. I just don't know it is possible in your environment.
Positive Results requires Positive Thinking