Adjusting the Operating System Shared Memory Parameters

Adjust shared memory segments if Adaptive Server cannot obtain large memory as a single segment, or if Backup Server stripes fail due to insufficient segments.

Depending on the number and types of devices used for backup (dump) and recovery (load), you may need to adjust the shared memory segment parameter in the operating system configuration file to accommodate concurrent Backup Server processes. There are six default shared memory segments available for process attachments.

If any reconfiguration through sp_configure requires additional memory, Adaptive Server allocates shared memory segments after start-up. To account for these additional segments, allocate the maximum memory available to Adaptive Server by using the allocate max shared memory configuration parameter. See the System Administration Guide.

  1. Adjust the operating system shared memory parameter.

    For Adaptive Server to run, the operating system must be configured to allow allocation of a shared memory segment at least as large as the Adaptive Server max memory configuration parameter.

    The default max memory parameter for HP is 45,056 2KB pages (88MB) on the 64-bit operating system. To adjust the shared memory value of the operating system, use the System Administration Manager (SAM).

    To adjust the shared memory value of the operating system, add this line to the operating system configuration file /etc/sysconfigtab:
    ipc: shm-max=nnn
    For HP and UNIX 5.0a, also add:
    ssm-threshold=0
    If this parameter is not set, Adaptive Server does not start, and you see:
    os create region: shmat "xx": invalid argument

    After installing Adaptive Server, you can change any configuration parameter, procedure cache, and data cache sizes; these changes may require you to increase the configuration parameter max memory.

  2. To optimize asynchronous I/O and to prevent the paging of shared memory, you must grant MLOCK permissions before you install Adaptive Server. To grant MLOCK permissions to a group, enter:
    /etc/privgrp add mlock <group name>
    or:
    /etc/setprivgrp <group name> MLOCK