Consultor Eletrônico



Kbase 12533: HP - SEMMSL (superseded by semmsl_override) and SHMALL limits
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   15/10/2008
Status: Verified

FACT(s) (Environment):

HP-UX

SYMPTOM(s):

Problems caused by SEMMSL (superseded by semmsl_override) and SHMALL limits.

Warning: only <num> wait semaphores are available. (1093)

Less than minimum number of semaphores available (1130)

Maximum number of shared-memory identifiers exceeded. (1137)

No more available shared-memory. (1138)

CAUSE:

On some HP systems, when listing kernel parameters SEMMSL and SHMALL they may not display because they are dynamic.

In these cases the OS will allow a process to grab as much as it needs until you run out of memory.

IMPORTANT:

Depending on the OS patch though, on some HP os patch levels, the following info is available which conflicts with the info above:

If you look on some HP-UX 11.0 and the file > /usr/include/sys/sem.h:

/* Non-tunable system limits */

# define SEMOPM 500 /* max operations per semop system call */
# define SEMMSL 2048 /* maximum number of semaphores per ID */

There is a patch from HP (PHKL_21039) where you can read in the README-file:

Symptoms:
PHKL_21039:

The maximum number of IPC semaphores per set (SEMMSL) is presently a hard-coded value with a limit of 2048 in ./sys/sem.h.; it is not a kernel tunable.

FIX:

SEMMSL, the hard-coded max number of semaphores per ID, has been superceded by a new 'semmsl_override' kernel tunable which will have a minimum (and default) value of 2048. SAM can increase the value of the new tunable up to a maximum
of 10240. The value of SEMMSL read by pstat() will still correctly reflect the value set in semmsl_override.