Why Is The OS Allocating Fewer Semaphores Per Set Even If SEMMSL Is Set To A Higher Value (Doc ID 1670642.1)

Last updated on JUNE 13, 2014

Applies to:

Oracle Database - Enterprise Edition - Version 11.2.0.3 and later
Linux x86-64

Symptoms

The OS system has been noticed to be allocating only 150 semaphores per set even if SEMMSL has been set to 275.

In the example, the specific kernel on Linux system (OEL 5.9) is 2.6.18-348.1.1.0.1.el5.
There are about 25 instances running (versions 10.2, 11.2), and most of them have the PROCESSES parameter set to 1200.

The current semaphores settings are:

SEMMNI: 256
SEMMSL: 275
SEMMNS: 350000
SEMOPM: 100


Semaphore use by oracle processes is shown like below:

oracle$> ipcs -s

------ Semaphore Arrays --------
key        semid      owner     perms      nsems
...
0xd8b11da5 11206678   oracle    640        152
0xd8b11da6 11239447   oracle    640        152
0xbd91aad0 15302680   oracle    640        154
0x574fde04 11370521   oracle    640        150
0x574fde05 11403290   oracle    640        150
0x574fde06 11436059   oracle    640        150
0x574fde07 11468828   oracle    640        150
0x574fde08 11501597   oracle    640        150
0x574fde09 11534366   oracle    640        150
0x574fde0a 11567135   oracle    640        150
0x574fde0b 11599904   oracle    640        150
0x574fde0c 11632673   oracle    640        150
0xcb0a8a88 1736738    oracle    640        150
0xcb0a8a89 1769507    oracle    640        150
0xcb0a8a8a 1802276    oracle    640        150
0xcb0a8a8b 1835045    oracle    640        150
0xcb0a8a8c 1867814    oracle    640        150
0xcb0a8a8d 1900583    oracle    640        150
0xcb0a8a8e 1933352    oracle    640        150
0xcb0a8a8f 1966121    oracle    640        150
0xcb0a8a90 1998890    oracle    640        150
0x0328f108 2129963    oracle    640        150
...


Semaphore usage by grid processes shows 252 like below:

------ Semaphore Arrays --------
key        semid      owner     perms      nsems
0x56565656 393227     root      666        3
0x000003d4 491534     root      644        1
0xf405fe54 622607     grid      640        252
0xf405fe55 655376     grid      640        252
0xf405fe56 688145     grid      640        252
...


Values for SEMMNI, SEMMNS need to be adjusted.
However, it is not clear if it makes sense to increase SEMMSL if the system will keep allocating close to 150 per array anyway.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms