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. add the following line to the configuration file /etc/system, where x is the number of shared memory segments:
    set shmsys:shminfo_shmseg=x 
  2. To control system resources add an entry to the file /etc/project such as the following, where project.max-shm-memory=(privileged,17179869184,deny) is the name for the project parameter:
    project-sybase:200:For use by Sybase:sybase:sybase:
    project.max-shm-memory=\(privileged,17179869184,deny)

    • privileged – is a threshold value on a resource control that constitutes a point at which local actions can be triggered, or global actions, such as logging in to a machine can occur. You can abbreviate this to priv. The three levels of privilege are:
      • basic – the owner of the calling process can modify
      • privilege – privileged callers can modify
      • system – fixed for the duration of the operating system instance
    • project.max-shm-memory – is the value of the maximum shared memory. The default value for project.max-shm-memory is 25% of the physical memory on the system. The maximum value is UINT64_MAX, which works out to 18,446,744,073,709,551,615 bytes, so essentially, this is limited only by the size of physical memory. To set the value, use:

      • prctl – to set project.max-shm-memory while the system is running.
      • rctladm – to set things permanently.
    • deny – means attempts to use more than 16GB are denied.