Operating System - HP-UX
1832938 Members
2745 Online
110048 Solutions
New Discussion

shared memory max size (SHMMAX)

 
SOLVED
Go to solution
panchpan
Regular Advisor

shared memory max size (SHMMAX)

Hello.
I received below error while starting my Progress DB. Is there something to be changed on my HP-UX machine?

Invalid size of shared memory segment (1135) │
│ │ │
│ │When running shared-memory multi-user PROGRESS, the database server │
│ │(proserve) was unable to get a shared-memory segment of 8K bytes or │
│ │larger. You might have a UNIX kernel with a shared memory max size │
│ │(SHMMAX) that is too small. If so, regenerate the kernel with a larger │
│ │value.

THANKS!!!
9 REPLIES 9
Fabian Briseño
Esteemed Contributor

Re: shared memory max size (SHMMAX)

What DB are you using?.

also, have you done some kernel reconfiguration lately?

If you are going to increase SHMMAX, Beware not to put SHMMAX parameter to high becasue you could get an end of channel communication message. (In oracle DB's).

Knowledge is power.
Victor BERRIDGE
Honored Contributor

Re: shared memory max size (SHMMAX)

Hi,
Use SAM to define a greater value, this kernel parameter is dynamic so there is no need to reboot...
e.g.
shmmax 0X40000000


All the best
Victor
Peter Godron
Honored Contributor

Re: shared memory max size (SHMMAX)

Hi,
how much RAM and swap do you have on your machine ? How much memory is free ?
Has the database grown lately ?
Please also remember not to set shmmax higher than your RAM + SWAP !
perumal_2
Frequent Advisor

Re: shared memory max size (SHMMAX)

Hi

You need to discuss with your DBA to decide on the SHMMAX size. There is DB parameter file modified with the higher SGA size where as the OS kernel parameter is not modified to cater the SGA ( I am using Oracles language, I am not familiar with Progress DB, hopefully be the saemin Progress DB too). Either you need to reduce the SGA size back to the original value or increase your SHMMAX kernel parameter in OS to cater the demaned SGA from yor DB.
Pls note that whatever the SGA you keep your DB is going to take the whole chunk of real memory, you need to figure it ouot how many users/session it is going to hadle and the RAM for those + the OS itself requires some physical memory based on the kernel and background process it starts. Say for example if you have 4 GB RAM you shouldn't paln to have more than 50% for your DB SGA.


TQ
Perumal
panchpan
Regular Advisor

Re: shared memory max size (SHMMAX)

Hello.
How do i check the available RAM in my HP-UX machine?
How do i check the value of SHMMAX and how much should it be?

THANKS
Peter Godron
Honored Contributor
Solution

Re: shared memory max size (SHMMAX)

Hi,
RAM Size:
Use SAM or use
perl -e 'local($PSTAT,$PSTAT_STATIC,$mem_info,$PSTAT_STRUCT)=(239,2,"\0"x120,"LI4L");
syscall($PSTAT,$PSTAT_STATIC,$mem_info,length($mem_info),1,0);
print "RAM=".int((unpack($PSTAT_STRUCT,$mem_info))[4]*((unpack($PSTAT_STRUCT,$mem_info))[5])/(1024*1024))."\n";'

Use SAM or kmtune to check parameters.

panchpan
Regular Advisor

Re: shared memory max size (SHMMAX)

How to check DB SGA on HP-UX machine?
Peter Godron
Honored Contributor

Re: shared memory max size (SHMMAX)

Andrew Merritt_2
Honored Contributor

Re: shared memory max size (SHMMAX)

Did this work before, and has it just stopped?

If so, and you're running 11.11, did you recently install the A.53.00 version of the OnlineDiags (Dec 2006 release)? There is a problem with the installation that will set shmmax to 128Mb for certain values (typically if shmmax is >2Gb).

The fix is to reset the value. You can do this from SAM, and it is a dynamic value so you do not need to rebuild the kernel or reboot, it takes effect immediately.

There will be a new release of the OnlineDiags available online next month to fix this.

Andrew