I need to tune certain Solaris kernel parameters related to message queues.
I read the "Inside Solaris" column by Jim Mauro on sunworld.com related
to System V/Solaris message queues.
msgmax, msgmnb, msgmni, msgtql are obvious once you have decided upon the
maximum message size, capacity of each queue, maximum queues, and
maximum messages outstanding required by your application.
I am confused by msgmap, msgssz, and msgseg. I have the following
questions:
msgmap: Does it avoid having to allocate kernel memory till
there are msgmap messages outstanding system-wide?
msgssz: I assume that a single user message can be broken into
"segments" in kernel memory instead of being stored
contiguously. If so, then why is the default setting so
low (8)? Surely most user messages in the real world
will be greater than 8 bytes and one wants to avoid
segmentation?
msgseg: Is msgseg*msgssz a constraint on the max number of message bytes
outstanding system-wide?
Saurabh