15.1.5 Formula for size of shared memory used by global buffers
(1) When shared memory used by the global buffer is not locked in real memory
When the shared memory used by the global buffer is not locked in real memory (when free is specified in the pd_dbbuff_attribute operand), calculate the size using the following formulas.
Formula | Shared memory calculation formula (KB) |
---|
Formula 1 | - 32-bit mode
n
{ i=1
{752 + 64 + (296 + 64#1) x (Pi + 4) + (124 + 80#2 + 96 x A x Mi) x Ui} 4,096 x 4,096 + Si x {Pi + 4 + (Ui x Mi x A)} } 1,024
- 64-bit mode
n
{management region part + data storage part} 1,024 i=1 management region part:
{944 + 64 + (480 + 112#1) x (Pi + 4) + (176 + 96#2 + 136 x A x Mi) x Ui} 4,096 x 4,096 data storage part: Si x {Pi + 4 + (Ui x Mi x A)} |
Formula 2 | - 32-bit mode
{{ ( (s x 1,024 2) 8 + 112) 2,048 x 2,048 x
a (s x 1,024) } 1,024
- 64-bit mode
{ ( (s x 1,024 2) 8 + 144) 2,048 x 2,048 x
a (s x 1,024) } 1,024 |
- n: Number of global buffer pools
- i: Global buffer pool definitions to be calculated
- P: Number of global buffer sectors
- A: If the asynchronous READ facility is used, 2; if it is not used, 1.
- M: Maximum number of batch input pages
- If at least 1 is specified in the pd_max_ard_process operand, this is twice the specified value.
- U: Maximum number of concurrently executable prefetch operations
- S: Maximum page length of the RDAREAs allocated to global buffer
- s: SHMMAX specified value
- a: Total from Formula 1
- #1: Add this value for the LOB global buffer.
- #2: Add this value if at least 1 is specified in the pd_max_ard_process operand.
(2) When shared memory used by the global buffer is locked in real memory
When the shared memory used by the global buffer is locked in real memory (when fixed is specified in the pd_dbbuff_attribute operand), calculate the shared memory size using one of the following formulas.
Formula | Shared memory calculation formula (KB) |
---|
Formula 1 | - 32-bit mode
n
{ i=1
{ {752 + 64 + (280 + 64#1) x (Pi + 4) + (124 + 80#2 + 96 x A x Mi) x Ui} 4,096 x 4,096 + Si x {Pi + 4 + (Ui x Mi x A)}} p x p } 1,024
- 64-bit mode
n
{ {management region part + data storage part} p x p} 1,024 i=1 management region part:
{944 + 64 + (464 + 112#1) x (Pi + 4) + (176 + 96#2 + 136 x A x Mi) x Ui} 4,096 x 4,096 data storage part: Si x {Pi + 4 + (Ui x Mi x A)} |
Formula 2 | - 32-bit mode
{ { ( (s x 1,024 2) 8 + 112) 2,048 x 2,048 x
a (s x 1,024) } p x p} 1,024
- 64-bit mode
{ { ( (s x 1,024 2) 8 + 144) 2,048 x 2,048 x
a (s x 1,024) } p x p} 1,024 |
- n: Number of global buffer pools
- i: Global buffer pool definitions to be calculated
- P: Number of global buffer sectors
- A: If the asynchronous READ facility is used, 2; if it is not used, 1
- M: Maximum number of batch input pages
- If at least 1 is specified in the pd_max_ard_process operand, this is twice the specified value.
- U: Maximum number of concurrently executable prefetch operations
- S: Maximum page length of the RDAREAs allocated to the global buffer
- p: Page size in a Windows Large Page
- Can be checked with the pdntenv command.
- s: Value of SHMMAX
- a: Total from Formula 1
- #1: Add this value for the LOB global buffer.
- #2: Add this value if at least 1 is specified in the pd_max_ard_process operand.