System Administration Guide, Volume 2

How to Increase Shared Memory Segments

  1. Become superuser.

  2. Edit the /etc/system file and add the following variables to increase shared memory segments.


    set shmsys:shminfo_shmmax=value
    set shmsys:shminfo_shmmin=value
    set shmsys:shminfo_shmmni=value
    set shmsys:shminfo_shmseg=value
    set semsys:seminfo_semmap=value
    set semsys:seminfo_semmni=value
    set semsys:seminfo_semmns=value
    set semsys:seminfo_semmsl=value
    set semsys:seminfo_semmnu=value
    set semsys:seminfo_semume=value
    

    shmsys:shminfo_shmmax

    Maximum shared memory segment size 

    shmsys:shminfo_shmmin

    Minimum shared memory segment size 

    shmsys:shminfo_shmmni

    Number of shared memory identifiers 

    shmsys:shminfo_shmseg

    Number of segments, per process 

    semsys:seminfo_semmap

    Number of entries in the semaphore map 

    semsys:seminfo_semmni

    Number of semaphore identifiers 

    semsys:seminfo_semmns

    Number of semaphores in the system 

    semsys:seminfo_semmsl

    Maximum number of semaphores, per ID 

    semsys:seminfo_semmnu

    Number of processes using the undo facility

    semsys:seminfo_semume

    Maximum number of undo structures per process

  3. Verify the shared memory value changes.


    # grep shmsys /etc/system
    
  4. Reboot the system.


    # init 6
    

Example--Increasing Shared Memory Segments

The following shared memory values accommodate a system with a large amount of memory (for example, 128 MBytes) that is running a large database application.


set shmsys:shminfo_shmmax=268435456
set shmsys:shminfo_shmmin=200
set shmsys:shminfo_shmmni=200
set shmsys:shminfo_shmseg=200
set semsys:seminfo_semmap=250
set semsys:seminfo_semmni=500
set semsys:seminfo_semmns=500
set semsys:seminfo_semmsl=500
set semsys:seminfo_semmnu=500
set semsys:seminfo_semume=100