Kbase P23346: UNIX: Low value of SHMMNI causes error (49)
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  7/8/2003 |
|
Status: Unverified
FACT(s) (Environment):
UNIX
SYMPTOM(s):
SYSTEM ERROR: Memory violation. (49)
CAUSE:
Not enough memory for the processes, the current value for kernel parameter SHMMNI is lower than the Progress minimum requirements.
FIX:
Calculate the minimum value for SHMMNI and set the kernel to at least this value, depending on your available RAM.
The product of SHMMNI * SHMMAX will yield the maximum addressable space in RAM.
To calculate the minimum value of SHMMNI use the following 4GL program:
/* This program calculates the minimum value for SHMMNI
Enter the value of the startup parameters -n and -B, if they are not defined leave a blank */
DEFINE VAR Val-n AS INTEGER INITIAL 0 LABEL "[Value of -n]".
DEFINE VAR Val-B AS INTEGER INITIAL 0 LABEL "[Value of -B]".
DEFINE VAR SHMMNI AS INTEGER INITIAL 0 LABEL "[Minimum kernel value for SHMMNI]".
SET Val-n Val-B.
IF Val-n = 0 THEN Val-n=25.
IF Val-B = 0 THEN Val-B=8 * Val-n.
IF Val-n > 50 THEN SHMMNI=ROUND(Val-n / 25,0).
IF Val-B > 400 THEN SHMMNI=SHMMNI + ROUND(Val-B / 200, 0).
SHMMNI=SHMMNI + 2.
DISPLAY SHMMNI.