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.