Common Misconfigured HP-UX Resources (April 2006)

Use the following formula to calculate the size of the system semaphore undo table:
((24+(8*semume)) * semmnu)
Keep this formula in mind when changing these tunables since the effects on the boot time kernel size
are multiplicative. How many undo structures does one need? There is no single answer to that, but it
is important to note that undo structures are only allocated if the application specifies the SEM_UNDO
flag. Thus, it is not necessary to bump these values unless the application installation guides instruct
you to do so.
How can one go astray? Here is a real-life example. A customer tuned semmni to 10,000 and
decided to also set semume and semmnu to 10,000. The first change was not significant, consuming
only 80,000 bytes. However, the second set of changes resulted in the allocation of
((24+(8*10000))*10000) or 800,240,000 bytes! This was clearly not what the customer really
wanted.
The following table is a summary of memory usage based on the semaphore tunables:
Kernel Table Tunable Element Size Default Setting
Semaphore IDs
semmni
88 bytes
2048
Semaphore table
semmns
8 bytes
4096
-
semmsl
-
2048
34