2.20.2 Relationship with server definition operands
The various memory types and the sizes of the areas used by the HADB server are specified in server definition operands. This subsection explains the relationship between the memory types used by the HADB server and the server definition operands.
The two methods described below are provided for specifying in the server definition the maximum memory size to be used by the HADB server. We recommend use of method 1.
-
Specify in the adb_sys_memory_limit operand the maximum memory size to be used by the HADB server (maximum value for the sum of the shared memory size and the process memory size).
-
Specify in the adb_sys_proc_area_max operand the maximum value for the process common memory and specify in the adb_sys_rthd_area_max operand the maximum value for the real thread private memory.
The relationships between the memory used by the HADB server and the server definition operands are explained below for both of these methods.
- Organization of this subsection
(1) Method 1 (specifying the adb_sys_memory_limit operand)
The following figure shows the relationship between the memory used by the HADB server and the server definition operands.
- Note
-
The values of the server definition operands shown in the figure are examples. Specify the actual values that you have estimated.
- #
-
When the multi-node function is used, the number of real thread private memory areas that are allocated is equal to value-of-adb_sys_max_users + number-of-nodes × 2 + 13.
- Important
-
Specify in the adb_sys_memory_limit operand in the server definition the maximum size of the memory to be used by the HADB server (maximum value for the sum of the shared memory size and the process memory size).
The following table describes the relationships between the server definition operands and the individual memory types and areas shown in the figure.
Type of memory or area |
Related server definition operand |
Section describing the estimation method |
Method of checking memory usage during HADB server operation |
||
---|---|---|---|---|---|
Shared memory |
Process common memory |
-- |
(3) Determining the process common memory requirement in 6.3.1 Determining the shared memory requirement. |
The value of PROCESS_USE output when the adbls -d mem command#2 is executed with the -a option specified. |
|
Memory for managing shared memory |
-- |
(1) Determining the shared memory management area requirement in 6.3.1 Determining the shared memory requirement. |
The value of OTHER_USE output when the adbls -d mem command#2 is executed with the -a option specified. |
||
Memory for global buffer |
|
The value of GBUFFER_USE output when the adbls -d mem command#2 is executed with the -a option specified. |
|||
Real thread private memory |
-- |
|
(4) Determining the real thread private memory requirement in 6.3.1 Determining the shared memory requirement. |
The value of THREAD_USE output when the adbls -d mem command#2 is executed with the -a option specified. |
|
Hash grouping area |
|
Description of the adb_sql_exe_hashgrp_area_size operand in 7.2.2 Operands related to performance (set format) |
|||
Hash table area |
|
Description of the adb_sql_exe_hashtbl_area_size operand in 7.2.2 Operands related to performance (set format). |
|||
Hash filter area |
|
Description of the adb_sql_exe_hashflt_area_size operand in 7.2.2 Operands related to performance (set format) |
|||
Local work table buffer |
|
6.25.2 Estimating the number of pages in the buffer for local work tables |
|||
Process memory |
Heap memory |
-- |
The value of HEAP_USE output when the adbls -d mem command#2 is executed with the -a option specified. |
- Legend:
-
--: Not applicable
- #1
-
You can use the same operand in the client definition to change the value that is specified in the server definition.
- #2
-
For details about the items output by the adbls -d mem command when the -a option is specified, see adbls -d mem (Display the Memory Usage Status) in the manual HADB Command Reference.
- Note
-
For details about how to estimate the size of memory used by the HADB server, see the following sections:
(2) Method 2 (specifying the adb_sys_proc_area_max and adb_sys_rthd_area_max operands)
The following figure shows the relationship between the memory used by the HADB server and the server definition operands.
- Note
-
The values of the server definition operands shown in the figure are examples. Specify the actual values that you have estimated.
- #
-
When the multi-node function is used, the number of real thread private memory areas that are allocated is equal to value-of-adb_sys_max_users + number-of-nodes × 2 + 13.
The following table describes the relationships between the server definition operands and the individual memory types and areas shown in the figure.
Type of memory or area |
Related server definition operand |
Section describing the estimation method |
Method of checking memory usage during HADB server operation |
||
---|---|---|---|---|---|
Shared memory |
Process common memory#1 |
|
(3) Determining the process common memory requirement in 6.3.1 Determining the shared memory requirement. |
The value of PROCESS_USE output when the adbls -d mem command#3 is executed with the -a option specified. |
|
Memory for managing shared memory |
-- |
(1) Determining the shared memory management area requirement in 6.3.1 Determining the shared memory requirement. |
The value of OTHER_USE output when the adbls -d mem command#3 is executed with the -a option specified. |
||
Memory for global buffer |
|
The value of GBUFFER_USE output when the adbls -d mem command#3 is executed with the -a option specified. |
|||
Real thread private memory#1 |
-- |
|
(4) Determining the real thread private memory requirement in 6.3.1 Determining the shared memory requirement. |
The value of THREAD_USE output when the adbls -d mem command#3 is executed with the -a option specified. |
|
Hash grouping area |
|
Description of the adb_sql_exe_hashgrp_area_size operand in 7.2.2 Operands related to performance (set format) |
|||
Hash table area |
|
Description of the adb_sql_exe_hashtbl_area_size operand in 7.2.2 Operands related to performance (set format). |
|||
Hash filter area |
|
Description of the adb_sql_exe_hashflt_area_size operand in 7.2.2 Operands related to performance (set format) |
|||
Local work table buffer |
|
6.25.2 Estimating the number of pages in the buffer for local work tables |
|||
Process memory |
Heap memory |
-- |
The value of HEAP_USE output when the adbls -d mem command#3 is executed with the -a option specified. |
- Legend:
-
--: Not applicable
- #1
-
This part differs from (1) Method 1 (specifying the adb_sys_memory_limit operand).
If you omit the adb_sys_memory_limit operand, which specifies the maximum size of the memory used by the HADB server, you must specify the maximum size of the process common memory (adb_sys_proc_area_max operand) and the maximum size of one real thread private memory area (adb_sys_rthd_area_max operand).
- #2
-
You can use the same operand in the client definition to change the value that is specified in the server definition.
- #3
-
For details about the items output by the adbls -d mem command when the -a option is specified, see adbls -d mem (Display the Memory Usage Status) in the manual HADB Command Reference.
- Note
-
For details about estimating the size of the memory to be used by the HADB server, see the following sections: