Showing results for 
Search instead for 
Did you mean: 

SHMMAX too high?

Esteemed Contributor

SHMMAX too high?

Hi everyone,

We have an HP-UX 11.11 system running Oracle 10g. This system was setup before I came here and they are running into some performance problems - which I believe are related to the code. Anyway, while I was digging around the system I found the SHMMAX value to be alot higher than what I though it should be. Basically we have 8GB of memory and 4GB of swap. I always thought that your SHMMAX could not be higher than the total of both memory and swap, but ideally should be set at what your amount of available memory is....which I always put and didn't include the swap. Therefore, the max it should be is around 12GB, but this system is set to 17GB. Is that alright, or could this cause problems if it is too high? I have seen documents stating what will happen if it is too low, but nothing on how high it can go.

Jeff Schussele
Honored Contributor

Re: SHMMAX too high?

Hi Sally,

No - it's more of a threat than a problem.
Having it higher than could possibly be used just means that it's possible for *one* process to use it all up.
And yes - the max that should be set is = to total RAM. But again that's unobtainable because the kernel itself will be using RAM.
Just speak with the DBAs & find out how many SIDs they'll be running & what each one's SGA declares for RAM usage & set the value to approx 10-20% higher than that total. That should suffice.

PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
Florian Heigl (new acc)
Honored Contributor

Re: SHMMAX too high?

I think You'd better have them lower it - the last SAP system I had to reboot also had by mistake been configured like it's production counterpart (3GB RAM vs. 30GB) - it went unresponsive within minutes after databases were up.
yesterday I stood at the edge. Today I'm one step ahead.
Esteemed Contributor

Re: SHMMAX too high?

Thanks for the above answers. I just want to clarify - the SHMMAX should be set then to the total *available* memory - NOT including the size of the swap?

Steven E. Protter
Exalted Contributor

Re: SHMMAX too high?

Oracle 10G insists on a setting shmmax=RAM. HP docs indicate that any setting above 25% of memory(defined as swap plus ram) will be ignored.

The reason you have to follow the Oracle guidelines, even though that amount of memory can not actually be allocated is the Oracle setup program checks the kerneal parameters and won't install unless you play nice.

After installation, if you lower it and call Oracle support with an issue, they'll ask you to run a data collection script and tell you to put shmmax right back up before they work the call.

This robotic response is hard on sysadmins, and shows Oracle did not understand the HP-UX OS when they built the install check scripts.

The 25% rule protects you from actual damage and peformance problems as a result of Oracles mistake.

Steven E Protter
Owner of ISN Corporation
Andrew Cowan
Honored Contributor

Re: SHMMAX too high?

Setting parameters such as SHMMAX very high can have a knock-on effect with other kernel settings as they are calculated from one another.
Honored Contributor

Re: SHMMAX too high?

hi sally,

the Pre-Install checks (metalink note: 283731.1)should have identified this problem amongst others (if any).

The following tests are carried out:
* OS certified?
* Other O_Hs in PATH?
* oraInventory perms
* /tmp adequate?
* Swap (in Mb)
* RAM (in Mb)
* SwapToRAM OK?
* Disk Space OK?
* Kernel params OK?
* Links and libs OK?
* Got ld,nm,ar,make?
* ulimits OK?
* User in /etc/passwd?
* Got OS packages?
* Got OS patches?
* Other OUI up?
* Group in /etc/group?
* ORACLE_HOME valid?
* O_H perms OK?
* Umask set to 022?
* SHLIB_PATH unset?

hope this helps!

No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)