4.2.9 Operands related to global buffers

37) pd_max_add_dbbuff_no = maximum-global-buffers-count-for-dynamic-addition
~<unsigned integer>((1-32752))
In order to change global buffers dynamically, this operand specifies the maximum number of global buffers (per server) that can be added dynamically by the pdbufmod command.
Condition
Y must be specified in the pd_dbbuff_modify operand.
Specification guidelines
  • Estimate the number of global buffers to be added dynamically by the pdbufmod command and then specify a sufficient value based on that value.
  • Determine the operand's value in such a manner that the following condition is satisfied:
    Value of pd_max_add_dbbuff_no[Figure] 2,000,000 - number of global buffers allocated per server during HiRDB startup
Operand default value
The default value of this operand is as follows:
ConditionDefault value
32-bit modea[Figure] 500256
a < 500500 - a
64-bit modea[Figure] 1,000256
a < 1,0001,000 - a
a: Number of global buffers allocated per server during HiRDB startup
Notes
Do not specify an unnecessarily large value in this operand. If this operand's value is too large, the shared memory used by HiRDB increases, which might result in a shortage of shared memory and an inability of HiRDB to start.
Relationship to other operands
This operand is related to the following operands:
  • SHMMAX
  • pdbuffer
  • pd_max_add_dbbuff_shm_no
Effects on individual estimation formulas
If the value of the pd_max_add_dbbuff_no operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Determining the value of S under Determining the size of status files
  • Formula 2, Formula 4, Formula 5, and Formula 6 under Formulas for shared memory used by a single server
  • Formula 2, Formula 3, Formula 4, and Formula 5 under Formulas for the size of the shared memory used by a dictionary server
  • Formula 2, Formula 4, Formula 5, and Formula 6 under Formulas for the size of the shared memory used by a back-end server
38) pd_max_add_dbbuff_shm_no = maximum-shared-memory-segments-count-for-dynamic-addition
~<unsigned integer>((1-32752))
In order to change global buffers dynamically, specifies the maximum number of shared memory segments (per server) that can be allocated when dynamic addition is performed by the pdbufmod command.
Condition
Y must be specified in the pd_dbbuff_modify operand.
Specification guidelines
Estimate the number of global buffers to be added dynamically by the pdbufmod command and then specify an appropriate value.
Operand default value
The default value of this operand is as follows:
ConditionDefault value
pd_max_add_dbbuff_no operand is omitted.32-bit mode500 + A
64-bit mode1,000 + A
pd_max_add_dbbuff_no operand is specified.32-bit mode[Figure]value of pd_max_add_dbbuff_no[Figure] 1.5 + A[Figure]
(If the value is 32,752 or greater, 32752 is set)
64-bit mode
A: Remaining number of shared memory segments that can be allocated during HiRDB startup. This value can be calculated using the following formula:
A = a - b
Assign the following values to a and b:

a = value of pd_max_dbbuff_shm_no (in 64-bit mode, 16)
b = number of shared memory segments allocated to each server during HiRDB startup

You can obtain information about the shared memory segments by using the pdls -d mem command or an OS command.
Notes
  • If the following condition is satisfied, the value of the pd_max_add_dbbuff_no operand is assumed in this operand:
    Value of pd_max_add_dbbuff_shm_no < value of pd_max_add_dbbuff_no
    The value of the pd_max_add_dbbuff_shm_no operand is also assumed when the default value satisfies the above condition.
  • Do not specify an unnecessarily large value in this operand. If this operand's value is too large, the shared memory used by HiRDB increases, which might result in a shortage of shared memory and an inability of HiRDB to start.
  • If the size of a shared memory segment to be added exceeds the SHMMAX operand value, shared memory is divided into multiple segments based on the SHMMAX operand value as the maximum value. Either increase the value of the SHMMAX operand based on the size of the shared memory segment to be added or increase the value of the pd_max_add_dbbuff_no operand so that no shortage occurs when the shared memory is segmented.
  • If the facility for dynamically changing global buffers is used, the total number of shared memory segments that are allocated for the global buffers can be calculated using the following formula:
    pd_max_dbbuff_shm_no value + pd_max_add_dbbuff_shm_no value
    Therefore, if more shared memory segments were allocated when HiRDB started than the number specified for pd_max_dbbuff_shm_no, the number of shared memory segments that are actually allocated during dynamic change is the value of pd_max_add_dbbuff_shm_no minus the excess number of shared memory segments.
Relationship to other operands
This operand is related to the following operands:
  • SHMMAX
  • pdbuffer
  • pd_max_add_dbbuff_no
  • pd_max_dbbuff_shm_no
Effects on individual estimation formulas
If the value of the pd_max_add_dbbuff_shm_no operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Single Server
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Parallel Server
  • Determining the value of S under Determining the size of status files
  • HiRDB/Single Server under Determining Environment Variables Related to the Number of Resources
  • HiRDB/Parallel Server under Determining Environment Variables Related to the Number of Resources