配置 UNIX 共享内存

在 UNIX™ 上,可以为数据库服务器配置共享内存段。

在 UNIX 上,执行以下步骤配置数据库服务器配置需要的共享内存段。有关如何设置与共享内存相关的参数的信息,请参阅针对您的操作系统的配置指示信息。

要为数据库服务器配置共享内存段:

  1. 如果操作系统对共享内存段大小没有限制,可以进行以下操作:
    1. 将最大段大小的操作系统配置参数(通常是 SHMMAX 或 SHMSIZE)设置为数据库服务器配置所需的总大小。该大小包括启动数据库服务器实例所需的内存量,以及为虚拟部分动态增长而分配的共享内存量。
    2. 对于数据库服务器的每个实例,至少将最大段数的操作系统配置参数(通常是 SHMMNI)设置为 1
  2. 如果操作系统具有段大小限制,那么采取以下操作:
    1. 将最大段大小的操作系统配置参数(通常是 SHMMAX 或 SHMSIZE)设置为系统允许的最大值。
    2. 使用以下公式来计算您的数据库服务器实例的段数。 如果有余数,那么上舍入到最接近的整数。
      SHMMNI = total_shmem_size / SHMMAX
      
      total_shmem_size
      是分配给数据库服务器使用的共享内存总量。
  3. 将最大段数的操作系统配置参数(通常是 SHMMNI),设置为一个值,当该值乘以 SHMMAX 或 SHMSIZE 时,将产生数据库服务器的共享内存总量。 如果计算机专用于一个数据库服务器实例,那么总量最多可以达到虚拟内存大小的 90%(物理内存加交换空间)。
  4. 如果操作系统使用 SHMSEG 配置参数来指示进程可以附加的最大共享内存段数,那么为此参数设置的值应等于或大于分配给任意数据库服务器实例的最大段数。

有关在操作系统中配置共享内存的更多技巧,请参阅 UNIX 的机器说明文件的发行说明文件。