Consultor Eletrônico



Kbase P4741: Calculating SEMMSL, SEMMNS and SEMMNU
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   31/05/2011
Status: Verified

GOAL:

Calculating SEMMSL, SEMMNS and SEMMNU

GOAL:

Calculation for semaphore kernel parameters

GOAL:

How to determine what to set for semaphores in the kernel

FACT(s) (Environment):

UNIX
Progress 7.x
Progress 8.x
Progress 9.x
OpenEdge 10.x

FIX:

Semaphore parameters:

SEMMSL is the maximum number of semaphores allowed per semaphore identifier (semaphore set).
SEMMNS is the total number of semaphores allowed for the system.
SEMMNU is the maximum number of semaphore undo structures allowed for the system.

Semaphore calculation requirements for Progress:

SEMMSL
- Maximum of (number of users(-n) + number of servers (-Mn) + 4 The number of semaphores within the semaphore set is determined by the -n and -Mn startup parameter for each database. You need to include any Progress auxiliary process in the -n count in addition to the license count, i.e. APWs, AIW,BIW, WDOG, replication process, online backup, extra promon sessions, etc. As we plan to utilize additional auxiliary process, we need to add more to the -n values to account for them. Thus the +4 will not be enough on most newer versions of Progress.\
SEMMNS
- SEMMSL * the number of active databases

SEMMNU
- Set equal to one per Progress process connecting to a database. (each server process, self-service client, page writer, BI writer, AI writer, watchdog, PROSHUT, PROMON. However, to avoid system errors we recommend to set SEMMNU = SEMMNS. Not all systems have the SEMMNU tunable parameter.