Explanation of semaphore, message queue and shared memory settings in /etc/system
Details:
This TechNote gives a brief explanation about the shared memory, message queue and semaphore settings used in /etc/system.
Shared memory
set shmsys:shminfo_shmmin = <value> minimum shared memory segment size
set shmsys:shminfo_shmmax = <value> maximum shared memory segment size
set shmsys:shminfo_shmseg = <value> maximum attached shared memory segments per process
set shmsys:shminfo_shmmni = <value> number of shared memory identifiers
Message queues
set msgsys:msginfo_msgmap = <value> number of entries in message map
set msgsys:msginfo_msgmax = <value> maximum message size
set msgsys:msginfo_msgmnb = <value> maximum number of bytes on queue
set msgsys:msginfo_msgmni = <value> number of message queue identifiers
set msgsys:msginfo_msgssz = <value> message segment size (multiple of word size)
set msgsys:msginfo_msgtql = <value> number of system message headers
set msgsys:msginfo_msgseg = <value> number of message segments
Semaphores
set semsys:seminfo_semmap = <value> number of entries in semaphore map
set semsys:seminfo_semmni = <value> number of semaphore identifiers
set semsys:seminfo_semmns = <value> number of semaphores in system
set semsys:seminfo_semmnu = <value> number of undo structures in system
set semsys:seminfo_semmsl = <value> maximum number of semaphores per id
set semsys:seminfo_semopm = <value> maximum number of operations per semop call
set semsys:seminfo_semume = <value> maximum number of undo entries per process
More information about suggested default values can be found in TechNote 238063, which can be found in the Related Section of this TechNote. Sun Microsystems SunSolve document ID 2270 available at
also provides more detail about each of these kernel tuning parameters.
Related Documents:
Minimum system requirements for the Solaris kernel when used with VERITAS NetBackup (tm), defined in /etc/system
Details:
This document states the minimum system requirements for tuning Solaris kernel parameters to work with NetBackup. VERITAS only provides this information as a basic starting point, as this is actually a Solaris OS configuration issue that is also impacted by other applications running on the system.
If /etc/system already contains one of these entries, use whichever value is larger for that setting. Before modifying /etc/system, use the sysdef command to view the current kernel parameters. Add the following lines to /etc/system and reboot for the settings to take effect. After rebooting the sysdef command should display the new settings:
---------------------------------------
* Message queues
set msgsys:msginfo_msgmap=500
set msgsys:msginfo_msgmax=8192
set msgsys:msginfo_msgmnb=65536
set msgsys:msginfo_msgmni=256
set msgsys:msginfo_msgssz=32
set msgsys:msginfo_msgtql=500
set msgsys:msginfo_msgseg=8192
* Semaphores
set semsys:seminfo_semmap=64
set semsys:seminfo_semmni=1024
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmnu=1024
set semsys:seminfo_semmsl=300
set semsys:seminfo_semopm=32
set semsys:seminfo_semume=64
* Shared memory
set shmsys:shminfo_shmmax=16777216
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=230
set shmsys:shminfo_shmseg=100
---------------------------------------
The parameters listed below are obsolete in Solaris 8, but are still valid in Solaris 2.6 and 2.7:
set msgsys:msginfo_msgssz = The size of the message segment in bytes (multiple of word size).
set msgsys:msginfo_msgmap = number of elements in the map that is used to allocate message segments message map.
set msgsys:msginfo_msgseg = maximum number of message segments. The kernel reserves a total of msgssz * the msgseg bytes for message segments and must be less than 128 Kilobytes. Together msgssz and msgseg limit the amount of text for all outstanding messages.
set semsys:seminfo_semmap = number of entries in semaphore map
set shmsys:shminfo_shmmin = minimum shared memory segment size
set shmsys:shminfo_shmseg = maximum number of shared memory segments that can be attached to a given process at one time
If the values are present in the /etc/system file on a Solaris 8 or 9 system, the operating system will ignore them.
Any further or more detailed assistance with kernel tuning should be sought directly from Sun Microsystems.
Bob Stump
Just because the VERITAS documentation states a certain thing does not make it a fact and thats the truth