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.