8.1  Runtime Limits

When moving to Oracle Linux, one reason an application might face problems are any differences in the resource limits on the two platforms such as the settings for the interprocess communication facilities (shared memory, semaphores, and messages).

On Oracle Linux, the ipcs -l command displays output similar to the following for the interprocess communication parameter settings (the added # comments show the equivalent parameter setting in /etc/sysctl.conf).

# ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096                  # kernel.shmmni
max seg size (kbytes) = 67108864               # kernel.shmmax (units of bytes)
max total shared memory (kbytes) = 17179869184 # kernel.shmall (units of 4KB pages)
min seg size (bytes) = 1                       # no available parameter

------ Semaphore Limits --------
max number of arrays = 128                     # kernel.sem (argument 4)
max semaphores per array = 250                 # kernel.sem (argument 1)
max semaphores system wide = 32000             # kernel.sem (argument 2)
max ops per semop call = 32                    # kernel.sem (argument 3)
semaphore max value = 32767                    # no available parameter

------ Messages: Limits --------
max queues system wide = 7917                  # kernel.msgmni
max size of message (bytes) = 65536            # kernel.msgmax
default max size of queue (bytes) = 65536      # kernel.msgmnb

If you modify the parameters in /etc/sysctl.conf, note that the units used in that file do not always match those that ipcs displays. To load the new settings from this file, use the sysctl -p command.