3.3.20 Operands related to shared memory

76) SHMMAX maximum-shared-memory-segment-size
[Figure]<unsigned integer> (MB)
  • 32-bit mode: ((6-2047))
  • 64-bit mode: ((6-4194304))
Specifies, in megabytes, the maximum segment size for the shared memory for global buffer.
Specification guidelines
  • Specify the value determined by the formula for computing the size of the shared memory to be used by global buffers. If the global buffers are to be dynamically modified, take the sizes of the additional global buffers into consideration. For the formula for computing the size of the shared memory to be used by global buffers, see the HiRDB Version 8 Installation and Design Guide.
  • HiRDB allocates shared memory segments for global buffers up to the size specified for this operand. If the total size of the global buffers allocated to RDAREAs inside the server machine exceeds the value specified for this operand, multiple shared memory segments are allocated. If the global buffers are assigned to multiple shared memory segments, the overhead for accessing the shared memory segments increases, causing throughput to decrease. Therefore, try to estimate for this operand a value that enables all of the global buffers to fit inside a single shared memory segment.
    You can use the pdls -d mem command to check whether all of the global buffers have been assigned to a single shared memory segment. When there is one server per unit, two pieces of shared memory segment information are displayed. Therefore, when there are multiple servers per unit, all of the global buffers have been assigned to a single shared memory segment if segment-information-count - 1 = server-count is displayed.
  • Allocate at least two shared memory segments (for the unit controller, server, and global buffers) to each unit. You can allocate up to16 shared memory segments.
  • When global buffers are dynamically changed, new shared memory segments are allocated and the dynamically changed global buffers are assigned to these new shared memory segments. Use the pd_max_add_dbbuff_shm_no operand to specify the maximum number of shared memory segments that can be allocated.
Note
Shared memory is allocated as a shared memory file in the disk in which the HiRDB directory is located. Therefore, a disk space shortage occurs unless a sufficient amount of disk space is available.
Relationship to other operands
This operand is related to the following operands.
  • pd_dbbuff_modify
  • pdbuffer
  • pd_max_add_dbbuff_no
  • pd_max_add_dbbuff_shm_no