In this Solaris release, all System V IPC facilities are either automatically configured or can be controlled by resource controls. Facilities that can be shared are memory, message queues, and semaphores.
Resource controls allow IPC settings to be made on a per-project or per-process basis on the local system or in a name service environment.
In previous Solaris releases, IPC facilities were controlled by kernel tunables. You had to modify the /etc/system file and reboot the system to change the default values for these facilities.
Because the IPC facilities are now controlled by resource controls, their configuration can be modified while the system is running.
Many applications that previously required system tuning to function might now run without tuning because of increased defaults and the automatic allocation of resources.
The following table identifies the now obsolete IPC tunables and the possible resource controls that could be used as replacements. An important distinction between the obsolete IPC tunables and resource controls is that the IPC tunables were set on a system-wide basis and the resource controls are set on a per-project or per-process basis.
Resource Control |
Obsolete Tunable |
Old Default Value |
Maximum Value |
New Default Value |
---|---|---|---|---|
process.max-msg-qbytes |
msgsys:msginfo_msgmnb |
4096 |
ULONG_MAX |
65536 |
process.max-msg-messages |
msgsys:msginfo_msgtql |
40 |
UINT_MAX |
8192 |
process.max-sem-ops |
semsys:seminfo_semopm |
10 |
INT_MAX |
512 |
process.max-sem-nsems |
semsys:seminfo_semmsl |
25 |
SHRT_MAX |
512 |
project.max-shm-memory |
shmsys:shminfo_shmmax* |
0x800000 |
UINT64_MAX |
1/4 of physical memory |
project.max-shm-ids |
shmsys:shminfo_shmmni |
100 |
224 |
128 |
project.max-msg-ids |
msgsys:msginfo_msgmni |
50 |
224 |
128 |
project.max-sem-ids |
semsys:seminfo_semmni |
10 |
224 |
128 |
* Note that the project.max-shm-memory resource control limits the total amount of shared memory of one project, whereas previously, the shmsys:shminfo_shmmax parameter limited the size of a single shared memory segment.
For more detailed descriptions of the resource controls, see Available Resource Controls in System Administration Guide: Virtualization Using the Solaris Operating System.
Obsolete parameters can still be included in the /etc/system file on a Solaris system. If so, the parameters are used to initialize the default resource control values as in previous Solaris releases. For more information, see Parameters That Are Obsolete or Have Been Removed. However, using the obsolete parameters is not recommended.
The following related parameters have been removed. If these parameters are included in the /etc/system file on a Solaris system, the parameters are commented out.
semsys:seminfo_semmns |
semsys:seminfo_semvmx |
semsys:seminfo_semmnu |
semsys:seminfo_semaem |
semsys:seminfo_semume |
semsys:seminfo_semusz |
semsys:seminfo_semmap |
shmsys:shminfo_shmseg |
shmsys:shminfo_shmmin |
msgsys:msginfo_msgmap |
msgsys:msginfo_msgseg |
msgsys:msginfo_msgssz |
msgsys:msginfo_msgmax |
|
For the current list of available resource controls, see rctladm(1M). For information about configuring resource controls, see project(4), and Chapter 6, Resource Controls (Overview), in System Administration Guide: Virtualization Using the Solaris Operating System.