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.