Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning Guide

- Previous: Performance
- Next: Tuning the Application Server for High-Availability

## Operating System Configuration

The following section describes configuration of the operating system.

### Semaphores

If the number of semaphores is too low, HADB can fail and display this error message:

    No space left on device

This can occur either while starting the database, or during run time. Since the semaphores are provided as a global resource by the operating system, the configuration depends on all processes running on the host, and not the HADB alone. In Solaris, configure the semaphore settings by editing the `/etc/system` file.

To run the nodes, NNODES (the number of nodes submitted implicitly by `--hosts` option to the HADB) and NCONNS connections (HADB configuration parameter `NumberOfSessions`, default value being 100) per host, use the following semaphore settings:

    set semsys:seminfo_semmap = <default=10> + NNODES
    set semsys:seminfo_semmni = <default=10> + NNODES
    set semsys:seminfo_semmns = <default=60> + (NNODES * 8)
    set semsys:seminfo_semmnu = <default=30> + NNODES + NCONNS

If you plan to run multiple nodes per host, make sure `semmap = NNODES`. Use the `sysinfo` and `sysdef` commands to inspect the settings.

### 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.

#### Solaris

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.

#### Linux

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.

- Previous: Performance
- Next: Tuning the Application Server for High-Availability

- © 2010, Oracle Corporation and/or its affiliates