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. Add an entry to the file /etc/project to control system resources, such as the following:
    project-sybase:200:For use by Sybase:sybase:sybase:
    project.max-shm-memory=(privileged,17179869184,deny)
    where:
    • project.max-shm-memory – is the value of the maximum shared memory. The default value for is 25 percent of the physical memory on the system. Since the maximum value is UINT64_MAX—equivalent to 18,446,744,073,709,551,615 bytes—this is limited only by the size of physical memory. To set the value, use:
      • prctl – sets project.max-shm-memory while the system is running.
      • rctladm – sets things permanently.
    • 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 levels of privilege are:
      • basic – allows the owner of the calling process to modify
      • privilege – allows privileged callers to modify
      • system – is fixed for the duration of the operating system instance
    • deny – denies attempts to use more than 16GB.
  3. If the installer cannot update for Solaris 10 patch ID 120012-14, edit your /etc/user_attr file with:
    sybase::::type=normal;project=project-sybase
    --------------------
    To confirm that the update to this patch, use either of these commands:
    # projects -d sybase
    project-sybase
    # id -p sybase
    uid=204409(sybase) gid=1(other) projid=200(project-sybase)
    This update allows changes to shared-memory parameters within Solaris 10.