Tunable Kernel Parameters
NAME [Toc] [Back]
msgseg - number of System V IPC message segments in the system
VALUES [Toc] [Back]
Failsafe [Toc] [Back]
Allowed Values [Toc] [Back]
Maximum: 32767 or ((2^32-1)/msgssz), whichever is smaller.
The product of msgseg*msgssz must not exceed a 32 bit integer value of
DESCRIPTION [Toc] [Back]
The msgseg specifies the total number of "segments" of system-wide
shared memory message storage space which is shared among all IPC
The total available space for messages in the system is defined by the
product of msgseg*msgssz, the number of segments multiplied by the
Segments are only used to store messages larger than 64 bytes long.
Messages smaller than or equal to 64 bytes long are stored in a
different area and do not consume a segment.
If applications have consumed all message segments, the msgsnd() call
will block until segments become available or return [EAGAIN] if
IPC_NOWAIT was specified.
Messages larger than a single segment are allocated in a number of
contiguous segments sufficient to hold the message. As all segments
are allocated as a table (contiguous memory), fragmentation can occur
as messages are added and removed. Therefore, if message sizes often
exceed a single segment, consider allocating more segments than are
actually needed for message data, to allow for some fragmentation.
For more information about System V message queues, refer to the
Overview section of the mesg(5) manpage.
Who Is Expected to Change This Tunable?
Restrictions on Changing [Toc] [Back]
Changes to this tunable take effect at the next reboot.
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: Sep 2004
Tunable Kernel Parameters
When Should the Value of This Tunable Be Raised?
Raise this tunable if applications block too frequently in msgsnd(),
requiring more or larger messages be held in the kernel message
When Should the Value of This Tunable Be Lowered?
Lower this tunable when applications no longer require as much message
What Other Tunable Values Should Be Changed at the Same Time?
All the System V message queue tunables are interrelated and should
not be treated as independent variables. The set must be evaluated as
a system to ensure the tunables reflect the application requirements.
The message tunables include msgmap, msgmax, msgmnb, msgmni, msgseg,
msgssz, and msgtql. Specifically, the msgssz and msgtql tunables may
need to be adjusted in conjunction with changes in the msgseg tunable.
WARNINGS [Toc] [Back]
All HP-UX kernel tunable parameters are release specific. This
parameter may be removed or have its meaning changed in future
releases of HP-UX. The 64 byte threshold may change in future
releases of HP-UX.
A table of message segments is allocated in kernel memory at boot
time. This memory is reserved whether or not it is used.
The memory requirement is the product the msgssz and msgseg tunables.
Use care when setting these two tunables, as they can have a profound
effect on memory utilization, due to the multiplicative effect.
Installation of optional kernel software, from HP or other vendors,
may cause changes to tunable parameter values. After installation,
some tunable parameters may no longer be at the default or recommended
values. For information about the effects of installation on tunable
values, consult the documentation for the kernel software being
installed. For information about optional kernel software that was
factory installed on your system, see HP-UX Release Notes at
AUTHOR [Toc] [Back]
msgmni was developed by AT&T.
SEE ALSO [Toc] [Back]
msgsnd(2), mesg(5), msgmap(5), msgmax(5), msgmnb(5), msgmni(5),
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: Sep 2004 [ Back ]