Configuring kernel parameters

Inter-process communication (IPC) parameters

Message queue parameters

Parameter Dflt Min Max 64/256/1024 Auto
MSGMAX 2048 512 131072  
MSGMNB 4096 4096 131072  
MSGMNI 50 50 10000 KVM, Max only
MSGSEG 1 1 1  
MSGSSZ 16384 8192 1048576  
MSGTQL 200 40 40000 KVM, Max only

Specifies the maximum size of a message.

Specifies the maximum size of a message queue in bytes. The sum of all messages on a queue cannot be more than MSGMNB.

Specifies the maximum number of message queues system-wide (id structure).

The default value is ``1'' and the value of MSGSSZ multiplied by the value of MSGSEG determines the size of the pool available for messages. Keep in mind, so you can balance the amount allocated to this pool with the amount needed by the rest of the system, that this memory is allocated from the Kernel Memory Allocator (KMA). The maximum amount of kernel memory that can be allocated is 16MB.

Historically, MSGSEG specified the number of message segments in the system when segments were limited to 128K.

MSGSSZ is not used directly, but is multiplied by MSGSEG to compute the total number of bytes allocated to messages system-wide.

Specifies the number of message headers in the system and, therefore, the number of outstanding messages. It is suggested that the value be made relatively large to avoid blocking for a message header reservation.

Semaphore parameters

Parameter Dflt Min Max 64/256/1024 Auto
SEMAEM 16384 16384 16384  
SEMMNI 150 10 10000 KVM, Max only
SEMMSL 150 25 300  
SEMOPM 10 10 20  
SEMUME 10 10 20  
SEMVMX 32767 32767 32767  

NOTE: All memory and data structures for the semaphore IPC are dynamically allocated as needed.

Specifies the adjustment on exit for maximum value, alias semadj. This value is used when a semaphore value becomes greater than or equal to the absolute value of semop(S-osr5), unless the program has set its own value.

Specifies the number of semaphore identifiers in the kernel. This is the number of unique semaphore sets that can be active at any given time.

Specifies the maximum number of semaphores per semaphore identifier.

Specifies the maximum number of semaphore operations that can be executed per semop(S-osr5) system call.

Specifies the maximum number of undo entries per process.

Specifies the maximum value of a semaphore.

Shared memory parameters

Parameter Dflt Min Max
SHMMAX 524288 131072 2147483647
SHMMIN 1 1 1
SHMMNI 4096 10 65536
SHMSEG 512 6 8192
INVLPG_MAX 10 0 255

Specifies the maximum shared memory segment size.

Specifies the minimum shared memory segment size.

Specifies the maximum number of shared memory identifiers system-wide.

Specifies the maximum number of attached shared memory segments per process. The maximum number of shared memory segments that can be attached per process also is dependent on the available unused space the process has. So even if a process has fewer than SHMSEG shared memory segments, it may not be able to attach another because of its limited space.

INVLPG_MAX defines the threshold at which a global TLB (Translation Lookaside Buffer) flush is done, instead of repeatedly invalidating individual TLB entries. INVLPG_MAX is only used in conjunction with DSHM. When a DSHM buffer is larger than a page size it may be more efficient to flush the entire TLB rather than multiple TLB entries.

Next topic: I/O parameters
Previous topic: VXFS filesystem parameters

© 2007 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 05 June 2007