21.1 Estimating HP-UX OS parameter values

This section describes the procedures for estimating the HP-UX OS parameter values (or kernel parameter values). If OS parameter values are too small, HiRDB may not function correctly. Table 21-1 shows the guidelines for the HP-UX OS parameter values.

If you are using HP-UX 11i, do not change the OS parameter values while HiRDB is running. Even an OS parameter that can be adjusted automatically, if changed may affect HiRDB operations.

Table 21-1 Guidelines for the HP-UX OS parameter values

OS parameterGuideline for value
maxdsiz (32-bit-mode)
maxdsiz_64bit (64-bit mode)
[Figure]HiRDB/Single Server
The target value should satisfy the following two conditions; however, if the value is less than (process private area used by the Single Server process#1)[Figure]g, specify a value greater than this:
32-bit mode
  • Memory size for restarting HiRDB#2 + 52428800​ (bytes) or greater
  • Value of pd_work_buff_size[Figure] 1024 + 134217728​ (bytes) or greater
64-bit mode
  • Memory size for restarting HiRDB#2 + 52428800​ (bytes) or greater
  • Value of pd_work_buff_size[Figure] 1024 + 134217728​ (bytes) or greater
[Figure]HiRDB/Parallel Server
The target value should satisfy the following two conditions; however, if the value is less than (process private area using by each server process#3)[Figure]g, specify a value greater than this:
32-bit mode
  • Memory size for restarting each server's HiRDB#2 + 52428800​ (bytes) or greater
  • Value of pd_work_buff_size[Figure] 1024 + 134217728​ (bytes) or greater
64-bit mode
  • Memory size for restarting each server's HiRDB#2 + 52428800​ (bytes) or greater
  • Value of pd_work_buff_size[Figure] 1024 + 134217728​ (bytes) or greater
maxssizSpecify 80 MB or greater. Note that the unit for this value is MB. If this value is less than the value required by another program that is run on the server machine, specify the latter, which is greater.
maxfilesHiRDB calculates and sets this value, so you do not need to specify it.
maxfiles_limSpecify at least MAX(1344,value of pd_max_open_fds, n).
nfileSpecify at least MAX{1600,320[Figure](h - g) + [a + (b[Figure]c) + 320] [Figure]g + 848[Figure]i + h[Figure]2 + 227 + k[Figure]m}.
If the value determined from this formula exceeds the system maximum, use the system maximum value.
nflocksSpecify at least a + (b[Figure] c) + 3 + (320 [Figure] d).
maxuprcSpecify at least MAX(value of pd_max_server_process + e, 512).
However, if this value is less than the value required by another program that runs on the server machine, specify the higher value.
maxusersRecommended value is 128 or greater.
nprocSpecify at least the value of MAX (pd_max_server_process + 20, 576).
msgmniSpecify the number of message queue identifiers required by all programs that are run on the server machine. For details about the number of message queue identifiers required by HiRDB, see 21.5 Estimating the sizes of message queues and semaphores. Add the values obtained.
msgtqlSpecify at least MAX(k[Figure]value of msgmni, total specified by pdbuffer with -m option).
semmniSpecify the number of semaphore identifiers required by all programs that are run on the server machine. For details about the number of semaphore identifiers required by HiRDB, see 21.5 Estimating the sizes of message queues and semaphores. Add the values obtained. The recommended value is 1024 or greater.
semmnsSpecify the number of semaphores required by all programs that are run on the server machine. For details about the number of semaphores required by HiRDB, see 21.5 Estimating the sizes of message queues and semaphores. Add the values obtained. The recommended value is 7200 or greater.
semmnuSpecify a value of 512 or greater.
semumeSpecify a value of 512 or greater.
shmmaxSpecify at least MAX(p + q, r, s, t), and at least 200000000​.
If the global buffer dynamic update facility is used, consider the size of the global buffers to be added; if there is a possibility that the size of the added part will become greater than the specified value, specify the anticipated size of the added part.
However, if the inter-process memory communication facility is used (PDIPC=MEMORY is specified in the client environment definition), specify a size of at least MAX(p + q, r, s, value of PDSENDMEMSIZE, value of PDRECVMEMSIZE).
Specify in the HiRDB system definition's SHMMAX operand a value no greater than the value for shmmax determined here.
shmmniSpecify a value of 1000 or greater.
If the global buffer dynamic update facility is used, add the following value. Add 1 when the security audit facility is used.
  • HiRDB/Single Server
    Value of pd_max_add_dbbuff_shm_no
  • HiRDB/Parallel Server
    n
    [Figure] Value of the pd_max_add_dbbuff_shm_no operand specified in each server definition
    i=1
    n: Number of back-end servers in the server machine + number of dictionary servers
If the inter-process memory communication facility is used (PDIPC=MEMORY is specified in the client environment definition), add the value obtained from the following formula:
A[Figure] 2 [Figure] 1.2
A indicates the maximum number of concurrently executable clients that use the inter-process memory communication facility. If the value of A is unknown, use the total number of clients that use the inter-process memory communication facility or the value of k.
shmsegSpecify a value of 120 or greater.
To dynamically change the global buffer, add the maximum value of the pd_max_add_dbbuff_shm_no operand value defined in each server.
Also add 1 when the security audit facility is used.
a: Number of input data files used by the database load utility or the number of unload data files used by the database reorganization utility
b: Maximum number of index partitions (subject to processing by the database load utility or database reorganization utility)
c: Number of indexes (subject to processing by the database load utility or database reorganization utility)
d: One of the following values:
  • HiRDB/Single Server
    Value of pd_max_users operand + value of pd_max_reflect_process_count operand
  • HiRDB/Parallel Server
    Value of pd_max_bes_process operand + value of pd_max_reflect_process_count operand
e: Maximum number of concurrently executable commands (including utilities)
f: One of the following values:
  • HiRDB/Single Server, with pd_lck_release_detect=pipe: 1
  • HiRDB/Parallel Server, with pd_lck_release_detect=pipe: 16
  • Neither of the above: 0
g: One of the following values:
  • HiRDB/Single Server: Value of pd_max_users operand + value of pd_max_reflect_process_count operand
  • HiRDB/Parallel Server: Total of the following values for all back-end and dictionary servers in the unit:
    Value of pd_max_bes_process operand + value of pd_max_reflect_process_count operand
    Value of pd_max_dic_process operand + value of pd_max_reflect_process_count operand
h: Value of pd_max_server_process operand
i: Number of servers in the unit
j: One of the following values:
  • HiRDB/Single Server, with pd_lck_release_detect=pipe: 4
  • HiRDB/Parallel Server, with pd_lck_release_detect=pipe: 35
  • Neither of the above: 0
k: Value of pd_max_users operand + value of pd_max_reflect_process_count operand
m: One of the following values:
  • HiRDB/Parallel Server, with front-end servers in the unit, and pd_lck_release_detect=pipe: 2
  • Other than the above: 0
n: If you specify the batch index creation mode or index information output mode as the index creation mode with the database load utility, database reorganization utility, or rebalancing utility, use the value obtained from the following formula:
MIN (576 + b[Figure] c, maximum value of the pd_max_open_fds operand)
For details about the maximum value of the pd_max_open_fds operand, see the manual HiRDB Version 8 System Definition.
p: Size of the shared memory used by the unit controller
q: Size of the shared memory used by the Single Server or each server
r: Value specified in the HiRDB system definition's SHMMAX operand
s: Estimated value for shared memory used by the global buffers#4
t: Estimated value for shared memory used by the security audit information buffer#5
#1: For details about the process private area used by a single server process, see 16.1.2 Calculation of required memory.
#2: For details about estimating the memory size for restarting HiRDB, see 16.1.2 Calculation of required memory for a HiRDB/Single Server, and 16.2.2 Calculation of required memory for a HiRDB/Parallel Server.
#3: For details about the process private area used by each server process, see 16.2.2 Calculation of required memory.
#4: For details about estimating the shared memory used by the global buffers, see 16.1.5 Formula for size of shared memory used by global buffers for a HiRDB/Single Server, and see 16.2.5 Formula for size of shared memory used by global buffers for a HiRDB/Parallel Server.
#5: For details about estimating the size of shared memory used by the security audit information, for HiRDB/Single Server, see 16.1.2 Calculation of required memory for a HiRDB/Parallel Server and 16.2.2 Calculation of required memory for a HiRDB/Parallel Server.