21.2 Estimating Solaris OS parameter values

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

Table 21-2 Guidelines for the Solaris OS parameter values

OS parameterGuideline for value
rlim_fd_curHiRDB calculates and sets this value, so you do not need to specify it.
rlim_fd_maxSpecify at least MAX(1344,value of pd_max_open_fds, n).
maxuprcSpecify at least MAX(d + e, 1024).
However, if the default values calculated from maxusers and max_nproc are greater, do not change those values.
maxusersSpecify at least 128.
max_nprocs#1Specify at least MAX(d + 20, 1000).
However, if the default value calculated from maxusers is greater, do not change that value.
msgsys:msginfo_msgmni
(project.max-msg-ids)#1, #4
Specify 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.
msgsys:msginfo_msgtql
(process.max-msg-messages)#1, #4
Specify at least MAX(k[Figure]value of msgmni, total specified by pdbuffer with -m option).
semsys:seminfo_semmni
(project.max-sem-ids)#4
Specify 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.
semsys:seminfo_semmns#1, #3Specify 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.
semsys:seminfo_semmnu#1, #3Specify a value of 1024 or greater.
semsys:seminfo_semume#1, #3Specify a value of 512 or greater.
semsys:seminfo_semmsl
(process.max-sem-nsems)#4
Specify a value of 128 or greater.
semsys:seminfo_semopm
(process.max-sem-ops)#4
Specify a value of 128 or greater.
semsys:seminfo_semmap#1, #2, #3Specify a value of 1024 or greater.
shmsys:shminfo_shmmax
(project.max-shm-memory)#1, #4
Specify 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.
shminfo_shmmni
(project.max-shm-ids)#1, #4
Specify a value of 2000 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.
shminfo_shmseg#2, #3Specify a value of 240 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.
e: Maximum number of command processes that the HiRDB administrator can execute concurrently
k: Value of pd_max_users operand + value of pd_max_reflect_process_count operand
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
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.
#1: This parameter is not required for Solaris 8.
#2: This parameter is not required for Solaris 9.
#3: This parameter is not required for Solaris 10.
#4: For Solaris 10, use Solaris' resource control to specify the parameter inside the parenthesis ( ) for adjustment.