McIDAS-X 200x uses shared memory for a variety of tasks including frame allocation. By default, the shared memory facility is activated and should have sufficient maximum segment size on HP, IBM and SGI systems. However, this is not true for Sun systems running Solaris 2.x or Digital systems running True64. On Linux systems, the amount of available shared memory appears is equivalent to the combination of physical RAM and swap.
The system administrator should complete the steps below the first time McIDAS-X 200x is installed on Sun Solaris or Digital True64 workstations or if they desire to increase shared memory defaults on HP, IBM, or SGI systems.Sun Solaris 2.X
The system administrator must complete the steps below the first time McIDAS-X is installed on a Sun workstation running Solaris 2. x .
1. Force the kernel to activate the shared memory system at boot time by adding the line below to the appropriate location in the file
2. Check the maximum size of a shared memory segment using the command below. The value is indicated in bytes; the example lists a 512 MB maximum shared memory segment.
If your value is less than 512 MB, go to step 3. If your value is 512 MB or greater, go to step 4.
3. Set the shared memory size to 512 MB by adding the line below to the appropriate location in the file /etc/system .
4. Reboot the system so the forceload entry and 512 MB maximum shared memory size take effect.
On Irix, SHMMAX defaults to 512 MB (0x20000000 bytes), so tuning this parameter is unlikely to be needed. SHMMAX is found in /var/sysgen/mtune/shm.
On HP-UX 10 and 11, the maximum value for SHMMAX is 1024 MB (0x40000000; the default value for 64 MB (0x04000000). SHMMAX is found in /etc/conf/master.d/core-hpux.
The procedure for changing the parameter is similar, if not identical, to the one described for HP-UX 9.
One way to check the current value of SHMMAX is to enter the following command:
Type: grep SHMMAX /etc/master
If the grep does not print anything, you are using the default value of 64 MB. If the grep prints something, the output might look like this:
shmmax SHMMAX 0X20000000
The value is bytes, so here the maximum segment size has been set to 512 MB.
The shmget(2) man page says that the maximum shared-memory segment size is 256 MB (0x10000000); this limit does not appear to be tunable.
Set the shared memory size to 512 MB by adding the two lines listed below to the end of the file.
|kernel.shmmax = 536870912
kernel.shmall = 536870912
Run the following command from the Unix prompt.
Type:   ;/sbin/sysctl -p
Shared memory parameters are only read when the system goes from single user to multi user mode.
Add setting of shared memory max to /etc/sysctl.conf:
# $FreeBSD: src/etc/sysctl.conf,v 188.8.131.52 2002/04/15 00:44:13 dougb Exp $ # # This file is read when going to multi-user and its contents piped thru # ``sysctl'' to adjust kernel values. ``man 5 sysctl.conf'' for details. # kern.ipc.shmmax=536870912
and then reboot.
In the Panther and Tiger releases of MacOS-X, shared memory is set in the file /etc/rc. The default settings on Panther will look something like:
# System tuning sysctl -w kern.maxvnodes=$(echo $(sysctl -n hw.physmem) '33554432 / 512 * 1024 +p'|dc) sysctl -w kern.sysv.shmmax=4194304 sysctl -w kern.sysv.shmmin=1 sysctl -w kern.sysv.shmmni=32 sysctl -w kern.sysv.shmseg=8 sysctl -w kern.sysv.shmall=1024
We recommend changing this to:
# System tuning sysctl -w kern.maxvnodes=$(echo $(sysctl -n hw.physmem) '33554432 / 512 * 1024 +p'|dc) sysctl -w kern.sysv.shmmax=536870912 sysctl -w kern.sysv.shmmin=1 sysctl -w kern.sysv.shmmni=4096 sysctl -w kern.sysv.shmseg=4096 sysctl -w kern.sysv.shmall=131072
For the Tiger release of MacOS-X: As user 'root', create the file /etc/sysctl.conf and add the following lines:
After making these changes, the system will need to be rebooted for the changes to take effect.