Sun Java System Application Server Enterprise Edition 8.2 Performance Tuning Guide

Shared Memory

Set the maximum shared memory size to the total amount of physical RAM. Additionally, set the maximum number of shared memory segments per process to six or more to accommodate the HADB processes. Set the number of system-wide, shared memory identifiers based on the number of nodes running on the host.


In Solaris 9, because of the kernel changes, the hmsys:shminfo_shmseg variable is obsolete. In Solaris 8, add the following settings to the /etc/system file:

set shmsys:shminfo_shmmax = 0xffffffff
set shmsys:shminfo_shmseg = <default=6>
set shmsys:shminfo_shmmni = <default=100> + (6 * NNODES)

Default values are for Solaris 8. Add HADB resource requirements to the previous value of the variables regardless of whether they are the default values.

Note –

You must reboot the host after changing these settings.


To increase the shared memory to 512 MB, run the following commands:

echo 536870912 > /proc/sys/kernel/shmmax
echo 536870912 > /proc/sys/kernel/shmall

Where the file shmmax contains the maximum size of a single shared memory segment, and shmall contains the total shared memory to be made available.

This value is large enough for a standard HADB node that uses default values. If the default values are changed, consider changing these values, as well.

To make these changes permanent, add those lines to /etc/rc.local on your Linux machine. With Redhat Linux, you can also modify sysctl.conf to set the kernel parameters.