Allocating Sufficient Shared Memory

McIDAS-X uses shared memory for frame allocation. On some operating systems, the shared memory facility is activated by default and has a sufficient maximum segment size for most McIDAS-X sessions. However, this is not always true for Linux and Mac OS X systems. The system administrator must check and, if necessary, force the kernel to activate the shared memory system at boot time and set the maximum segment size to 512 MB or greater the first time McIDAS-X is installed on a Linux or Mac OS X workstation.

The McIDAS Users' Group uses the following settings on Linux and Mac OS X.

Red Hat Enterprise Linux
The system administrator must complete the steps below the first time McIDAS-X is installed on a Red Hat Enterprise Linux workstation.
  1. Edit the file /etc/sysctl.conf.
  2. Check for lines similar to the two below. If the lines do not exist then add them to the end of the file. If the lines exist and are set to the value below (536870912) or greater you can leave them as is. If the lines exist but are set to a smaller value, change the values to those below.

    kernel.shmmax = 536870912
    kernel.shmall = 536870912
  3. Run the following command from the Unix prompt.

    Type:  /sbin/sysctl -p

Every time the machine reboots, the shared memory will be set to the value set above.

Mac OS X
As user 'root', create the file /etc/sysctl.conf and add lines similar to those below (which are an example that sets the maximum shared memory segment size to 512 MB).

kern.sysv.shmmax=536870912
kern.sysv.shmmin=1
kern.sysv.shmmni=128
kern.sysv.shmseg=32
kern.sysv.shmall=131072
Note the relationship between shmall and shmmax. shmall is the number of pages (4k in size) and shmmax=shmall*4096.
The example values above allow 512 MB of shared memory to be addressed.

After making these changes, the system will need to be rebooted for the changes to take effect.


Updated February 2017