Solaris Tunable Parameters Reference Manual

System V IPC Configuration

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.