Specify where to attach the first shared-memory segment

The SHMBASE parameter in the onconfig file specifies the virtual address where each virtual processor attaches the first, or base, shared-memory segment.

Each virtual processor attaches to the first shared-memory segment at the same virtual address. This situation enables all virtual processors within the same database server instance to reference the same locations in shared memory without calculating shared-memory addresses. All shared-memory addresses for an instance of the database server are relative to SHMBASE.
Warning: Do not change the value of SHMBASE.
The value of SHMBASE is sensitive for the following reasons:
  • The specific value of SHMBASE depends on the platform and whether the processor is a 32-bit or 64-bit processor. The value of SHMBASE is not an arbitrary number and is intended to keep the shared-memory segments safe when the virtual processor dynamically acquires additional memory space.
  • Different operating systems accommodate additional memory at different virtual addresses. Some architectures extend the highest virtual address of the virtual-processor data segment to accommodate the next segment. In this case, the data segment might grow into the shared-memory segment.
  • Some versions of UNIX™ require the user to specify an SHMBASE parameter of virtual address zero. The zero address informs the UNIX™ kernel that the kernel picks the best address at which to attach the shared-memory segments. However, not all UNIX™ architectures support this option. Moreover, on some systems, the selection that the kernel makes might not be the best selection.

For information about SHMBASE, see your HCL Informix® machine notes.