2.2.19 Operands related to shared memory
- 89) pd_shmpool_attribute = free | fixed
- Specifies whether to fix the shared memory used by the HiRDB unit controller in memory. Note that the AIX edition of HiRDB (32-bit mode) does not support fixing of the shared memory. In this case, specification of fixed in this operand will be ignored.
- 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, affecting performance adversely.
- 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.
- Relationship to other facilities
- When fixed is specified in an AIX edition, the following constraints apply, which means that the inter-process memory communication facility cannot be used between a 64-bit-mode HiRDB server and a 32-bit-mode client process:
- The operating system parameters of the OS must be set.
- In the system common definition, the putenv EXTSHM ON environment variable cannot be set.
- For details about the operating system parameters of the OS and the EXTSHM environment variable, see Estimating AIX 5L OS parameter values in the HiRDB Version 9 Installation and Design Guide.
- Notes
- The following notes apply when fixed is specified in the AIX edition:
- Set operating system parameters for the OS. If the applicable operating system parameters for the OS are not set, this operand will be ignored. For details about the operating system parameters to set for the OS, see Specifying parameters unique to AIX in the HiRDB Version 9 Installation and Design Guide.
- You can use an AIX command to determine whether shared memory has been fixed in memory. For details, see the applicable AIX manual.
- 90) pd_shmpool_control = unit | server
- This operand is applicable only to a HiRDB parallel server configuration.
- Specifies the control method for shared memory used by HiRDB.
- unit:
- Applies the unit-by-unit control method for starting and stopping the HiRDB parallel server configuration.
- server:
- Applies the user-server-by-user-server control method for starting and stopping the HiRDB parallel server configuration (when using the pdstart or pdstop command with the -s option specified).
- User server refers to a front-end server, dictionary server, or back-end server.
- Specification guidelines
- Normally, unit is specified in this operand or this operand is omitted.
- When performing a user server start or stop operation on a system that does not use standby-less system switchover (effects distributed), refer to Securing and releasing shared memory below, and then consider whether to specify server in this operand.
- Securing and releasing shared memory
- Shared memory used by HiRDB is secured as a block from the OS when the unit starts and is then managed by the HiRDB in a shared memory pool. When a user server starts, the portion of shared memory used by that user server is secured from the shared memory pool in multiple parts.
- When the user server shuts down, the shared memory secured when that server started is released.
- Accordingly, when the start and stop operations of a HiRDB parallel server configuration are performed for individual user servers, fragmentation can arise in the area within the shared memory pool. As fragmentation increases, units might terminate abnormally because they cannot secure shared memory when the user server starts. If server is specified in this operand, the shared memory required for a user server to start can be secured despite fragmentation.
- If a unit is using the standby-less system switchover (effects distributed) facility, the HiRDB is controlled so that fragmentation in the shared memory pool area does not occur, even though user-server start and stop operations are performed. Consequently, there is no need to specify server in this operand when performing start and stop operations only for back-end servers within units that use the standby-less system switchover (effects distributed) facility.
- 91) pd_dbbuff_attribute = free | fixed
- Specifies whether to fix the shared memory used by the global buffer in the real memory. Note that the AIX edition of HiRDB (32-bit mode) does not support fixing of the shared memory. In this case, specification of fixed in this operand will be ignored.
- 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.
- When fixed is specified in an AIX edition, the following constraints apply, which means that the inter-process memory communication facility cannot be used between a 64-bit-mode HiRDB server and a 32-bit-mode client process:
The operating system parameters of the OS must be set.
In the system common definition, the putenv EXTSHM ON environment variable cannot be set.
For details about the operating system parameters of the OS and the EXTSHM environment variable, see Specifying parameters unique to AIX in the HiRDB Version 9 Installation and Design Guide.
- Notes
- The following notes apply to specification of fixed in the AIX edition:
- Set operating system parameters for the OS. If the applicable operating system parameters for the OS are not set, this operand will be ignored. For details about the operating system parameters to set for the OS, see Estimating AIX 5L OS parameter values in the HiRDB Version 9 Installation and Design Guide.
- You can use an AIX command to determine whether shared memory has been fixed in memory. For details, see the applicable AIX manual.