Consultor Eletrônico



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.