System Configuration

Linux

Reconfiguration can only be done by building a new kernel. First modify the appropriate constants in include/asm-/shmparam.h. Increasing SHMMAX will allow larger shared segments and increasing _SHM_ID_BITS allows for more shared memory identifiers.

The default shared memory segment size is a rather stingy 1MB.

Solaris

Reconfiguration can be done by modifying /etc/system and then rebooting. See the Solaris man page system(4).

For example to set the maximum shared memory segment size to 32 MB put the following in /etc/system.

set shmsys:shminfo_shmmax=0x2000000

If you are using the sysv transport and are running out of semaphores then the following tunables can be set.

set shmsys:shminfo_semmap=32
set shmsys:shminfo_semmni=128
set shmsys:shminfo_semmns=1024
The above values are just for example. Please consult your system documentation for help in determining the correct values for your situation.

Other

If you have tips for reconfiguring other operating systems to allow for more shared resources, please send them to lam@mpi.nd.edu.