Sun Java System Application Server Enterprise Edition 8.2 High Availability Administration Guide

ProcedureTo configure shared memory and semaphores on Solaris

Since the semaphores are a global operating system resource, the configuration depends on all processes running on the host, and not HADB alone. On Solaris, configure the semaphore settings by editing the /etc/system file.

  1. Log in as root.

  2. Configure shared memory.

    • Set shminfo_shmmax, which specifies the maximum size of a single shared memory segment on the host. Set this value to the total amount of RAM installed on the HADB host machine, expressed as a hexadecimal value, but no more than 2 GB.

      For example, for 2 GB of RAM, set the value as follows in the /etc/system file:


      set shmsys:shminfo_shmmax=0x80000000

      Note –

      To determine a host machine’s memory, use this command:


      prtconf | grep Memory

    • On Solaris 8 or earlier, set shminfo_shmseg, the maximum number of shared memory segments to which one process can attach. Set the value to six times the number of nodes per host. For up to six nodes per host, add the following to the /etc/system file:


      set shmsys:shminfo_shmseg=36

      On Solaris 9 and later, shmsys:shminfo_shmseg is obsolete.

    • Set shminfo_shmmni, the maximum number of shared memory segments in entire system. Since each HADB node allocates six shared memory segments, the value required by HADB must be at least six times the number of nodes per host. On Solaris 9, for up to six nodes per host, there is no need to change the default value.

  3. Configure semaphores.

    Check the /etc/system file for the following semaphore configuration entries, for example:


    set semsys:seminfo_semmni=10
    set semsys:seminfo_semmns=60
    set semsys:seminfo_semmnu=30

    If the entries are present, increment the values as indicated below.

    If the /etc/system file does not these entries, add them at the end of the file:

    • Set seminfo_semmni, the maximum number of semaphore identifiers. Each HADB node needs one semaphore identifier. On Solaris 9, for up to six nodes per host, there is no need to change the default value. For example:


      set semsys:seminfo_semmni=10
    • Set seminfo_semmns, the maximum number of semaphores in the entire system. Each HADB node needs eight semaphores. On Solaris 9, or up to six nodes per host, there is no need to change the default value. For example:


      set semsys:seminfo_semmns=60
    • Set seminfo_semmnu, the maximum number of undo structures in the system. One undo structure is needed for each connection (configuration variable NumberOfSessions, default value 100). For up to six nodes per host, set it to 600:


      set semsys:seminfo_semmnu=600
  4. Reboot the machine.