3.2.11 Operands related to shared memory
- 26) pd_shmpool_attribute = free | fixed
- Specifies whether to fix the shared memory used by the HiRDB unit controller in memory. Note that whether this feature is supported depends on the version of Windows you are using. For details about the prerequisites for Windows, see Page locking shared memory under System design in the HiRDB Version 9 Installation and Design Guide. If this feature is not supported, this operand is ignored even if fixed is specified.
- free:
- Do not fix the shared memory in memory. Depending on the size of the real memory, another page of shared memory might be created, adversely affecting performance.
- fixed:
- Fix the shared memory in memory.
- Advantage
- Fixing the shared memory to be used by the HiRDB in the memory ("fixed" specified) prevents shared memory paging, thus improving the access performance to the shared memory.
- Specification guidelines
- Determine whether to fix shared memory based on the computed shared memory size and the real memory size of the server machine. Because there is a limit to the amount of memory that can be fixed for the HiRDB, fixing too much shared memory might cause frequent paging of other types of memory. How much real memory there is and the amount of memory to be occupied by the shared memory pool need to be carefully evaluated.
- For the formulas used to calculate the shared memory sizes to be used by the unit controller and individual servers, see the HiRDB Version 9 Installation and Design Guide.
- Operand default
- When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is free.
- Notes
- The following notes apply to specification of fixed in a Windows system that supports page fixing:
- The shared memory must be allocated to the paging file with the pdntenv command. For details about the pdntenv command, see the manual HiRDB Version 9 Command Reference.
- When you estimate the required memory size, note that the shared memory is acquired with its size rounded up to the page size of a Windows large page. To check the page size of a Windows large page, use the pdntenv -os command.
- 27) pd_dbbuff_attribute = free | fixed
- Specifies whether to fix the shared memory used by the global buffers in the real memory. Note that whether this feature is supported depends on the version of Windows you are using. For details about the prerequisites for Windows, see Page locking shared memory under System design in the HiRDB Version 9 Installation and Design Guide. If this feature is not supported, this operand is ignored even if fixed is specified.
- free:
- Do not fix the shared memory to be used by the global buffer in the real memory.
- fixed:
- Fix the shared memory to be used by the global buffer in the real memory.
- Advantage
- Fixing the shared memory to be used by the global buffer in the real memory (fixed specified) prevents shared memory paging, thus improving the performance of accesses to the shared memory.
- Specification guidelines
- To emphasize performance when there is ample real memory, specify fixed.
- Determine whether to fix shared memory based on the computed shared memory size and the real memory size of the server machine. If a memory page that is quite large relative to the real memory is fixed, the result might be frequent paging or a virtual memory shortage. Therefore, how much real memory there is and the amount of memory to be occupied by the shared memory pool need to be evaluated carefully. For the formulas used to calculate the shared memory size to be used by the global buffer, see the HiRDB Version 9 Installation and Design Guide.
- When the size of the shared memory to be page-fixed is subtracted from the size of the real memory, as a guideline, make sure that the result does not equal or exceed half the size that is obtained by subtracting the size of the shared memory to be page-fixed from the swap area size.
- Relationship to other facilities
- If fixed is specified, the shared memory used by a dynamically modified global buffer is also fixed in the real memory. Therefore, carefully consider the real memory size before adding or modifying a global buffer.
- Notes
- The following notes apply to specification of fixed in a Windows system that supports page fixing:
- The shared memory must be allocated to the paging file with the pdntenv command. For details about the pdntenv command, see the manual HiRDB Version 9 Command Reference.
- When you estimate the required memory size, note that the shared memory is acquired with its size rounded up to the page size of a Windows large page. To check the page size of a Windows large page, use the pdntenv -os command.
- In the SHMMAX operand, specify a value that is rounded up to the page size of a Windows large page.
- If the shared memory for the global buffer pool cannot be fixed in memory when HiRDB starts, the KFPH23045-W message is issued. In this case, even if fixed is specified, HiRDB resumes processing without page-fixing some, or all, of the shared memory in memory.