Adjusting the Operating System Shared Memory Parameters

Adjust shared memory segments if SAP ASE 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, SAP ASE allocates shared memory segments after start-up. To account for these additional segments, allocate the maximum memory that is available to SAP ASE by using the allocate max shared memory configuration parameter. See the System Administration Guide.

  1. Adjust the operating system shared memory parameter.

    For SAP ASE to run, the operating system must be configured to allow allocation of a shared memory segment at least as large as the SAP ASE 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, the SAP ASE server does not start, and you see:
    os create region: shmat "xx": invalid argument

    After installing SAP ASE, 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 SAP ASE. To grant MLOCK permissions to a group, enter:
    /etc/privgrp add mlock <group name>
    or:
    /etc/setprivgrp <group name> MLOCK