1748158 Members
4019 Online
108758 Solutions
New Discussion юеВ

out of memory error

 
SOLVED
Go to solution
VINCENT SPURGEON
Frequent Advisor

out of memory error

When trying to bring up an additional instance on my server, I receive the following error from Oracle:

ORACLE error:
SVRMGR> startup
ORA-27102: out of memory
HP-UX Error: 12: Not enough space

The machine is a N-Class, 6GB RAM, 4 CPU, and there are currently 6 instances of oracle already running.

Oracle version: 3.1.7

Here are the current kernel parameters:

STRMSGSZ 65535
dbc_max_pct 35
max_thread_proc 512
maxdsiz 0X10000000
maxfiles 1024
maxfiles_lim 2048
maxssiz 0X10000000
maxssiz_64bit 0X10000000
maxswapchunks 8193
maxuprc 1024
maxusers 900
msgmax 65535
msgmnb 65535
msgmni 256
msgseg 7168
msgssz 1024
msgtql 1024
ncallout 8192
nflocks 8192
nkthread (20+32*MAXUSERS)
nstrpty 60
num_tachyon_adapters 5
semaem 32767
semmni 1024
semmns 16384
semmnu 2048
semume 256
semvmx 65535
shmmax 0X40000000
shmmni 1024
shmseg 1024

We have recently increased the maxssiz parameters for an application problem.

I also reduced the dbc_max_pct from 50 to 35 in an attempt to solve the new instance memory issue.

Anyone come across the above error, if so what direction should I be proceeding in?
It's only a flesh wound...
10 REPLIES 10
A. Clay Stephenson
Acclaimed Contributor
Solution

Re: out of memory error

ENOMEM (errno 12) is almost always caused by maxdsiz (or maxdsiz64) being set to small. Your maxdsiz is only 256MB. I don't see maxdsiz64. These are the guys you need to look at; it is very rare to ever need a maxssiz bigger than 64MB. You may also need more shmmax and more swap space.
If it ain't broke, I can fix that.
VINCENT SPURGEON
Frequent Advisor

Re: out of memory error

SAM is showing maxdsiz_64bit is set to 1073741824 (calculated value) or 0x0000000040000000 (formula/value).

Swap space is approx. 12GB

As far as shared memory is concern, with oracle, I would think that might be the problem, however, no where can I find, set "this" to increase the amount of shared memory.
It's only a flesh wound...
A. Clay Stephenson
Acclaimed Contributor

Re: out of memory error

Shmmax limits the size of a shared memory segment. I'm beginning to suspect that you have 6 rather large instances already running.

If you have glance, take a look at the amount of swapping you are doing or simply run a swapinfo -a.

One other thought: Do you have a herd of shared memory segments left over from processes that were killed possibly via kill -9 or from failed oracle processes? I am beginning to suspect very heavily fragmented memory.
If it ain't broke, I can fix that.
Roger Baptiste
Honored Contributor

Re: out of memory error


<>

For 6Gb of RAM, 35% is still a high value for
the dbc_max_pct amounting to around 2Gb! Reduce it to 10% and the minimum to 5%.


<>

SInce you are starting a Second instance on
the box, you would need to increase the
shared memory related parameters. To
see your current usage of Shared memory ,
do
#ipcs -am
-> this will also show whether any memory
segments are unattached but still not freed.

The kernel parameter which you may need to increase are
semmni semmns
shmmni
shmmax

ALso, check whether the SGA size of the
new instance is large. That would surely
need an increase in the above params.

HTH
raj

Take it easy.
harry d brown jr
Honored Contributor

Re: out of memory error

Vincent,

I found a server we have, running Oracle, on an N-class 6way with 6gb or ram, hpux 11.00/64. Just like your server. These are the kernel parameters we are using that are different than yours:

The ++ indicates my server

dbc_max_pct 35
++dbc_max_pct 20

maxdsiz 0X10000000
++maxdsiz 0X7B03A000

++maxdsiz_64bit 0X7B03A000

maxfiles 1024
++maxfiles 2048

maxssiz 0X10000000
++maxssiz 0X17F00000

maxssiz_64bit 0X10000000
++maxssiz_64bit 0X17F00000

maxswapchunks 8193
++maxswapchunks 10000

maxuprc 1024
++maxuprc 2769

++msgmap 3463

msgmni 256
++msgmni 3461

msgseg 7168
++msgseg 13844

msgtql 1024
++msgtql 3461

++nfile 53963
++ninode 29736
++nproc 3461

semmni 1024
++semmni 6922

semmnu 2048
++semmnu 3457

We have the process memory jacked up so that complex reporting apps don't die using the default 64mb limit.


live free or die
harry
Live Free or Die
Anthony Hill
Occasional Advisor

Re: out of memory error

g'day,

I've attached a document from Oracle explaining how shmmax should be configured. I've recently run into this same error and this document answered 99% of my questions, although I've not implemented the changes yet.

Also, check the documentation for shmmax, shmmni and shmesg.


Reagrds,
Anthony Hill.
Blood is thicker than water... and it tastes better too!
Sanjay_6
Honored Contributor

Re: out of memory error

Hi Vincent,

you can try and reconfigure your kernel parameters for database server system. You can use the hp standard kernel parameters for database server system. To do that go thru sam --> Kernel PArameters --> Apply tunded kernel parameters --> General OLTP / Database Server System, apply these parameters and rebuild the kernel. Hopefully this should solve your probelm.

Do make a note of your old kernel parameters, before you make any changes. You may have some application which need a specific value of kernel parameter above what will be set when you apply a tuned parameter set.

Hope this helps.

Regds
A. Clay Stephenson
Acclaimed Contributor

Re: out of memory error

Hi:

If you do choose to apply one of the Tuned Parameter Set make sure that 'timeslice' is not set to 1. That will kill your performance. Leave it at 10.
If it ain't broke, I can fix that.