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. The following table provides guidelines for AIX OS parameter values.
Table 20-3 Guidelines for the AIX OS parameter values
| OS parameter |
Guideline for value |
| data_hard |
The parameter default value is -1 (unlimit). Do not specify this if there is no particular reason to do so. |
| stack_hard |
Specify -1 (unlimit). |
| nofiles |
HiRDB calculates and sets this value, so you do not need to specify it. |
| nofiles_hard |
The parameter default value is -1 (unlimit). Do not specify this if there is no particular reason to do so. |
| maxuproc |
Specify 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. |
| EXTSHM environment variable |
For 32-bit mode HiRDB, specify ON (do not specify if the number of shared memory segments attached by a single process is less than 11). For 64-bit mode HiRDB, the value to specify depends on the function to be used. |
- e: Maximum number of concurrently executable commands (including utilities)
- Note
- The maximum number of files that can be opened in the system concurrently can be controlled by value of maxuprocxnofiles
number of fixed licenses.
- The maximum number of users who can log in to the system can be controlled by the number of fixed licenses.
- The maximum number of processes that can execute concurrently in the entire system can be controlled by value of maxuproc
number of fixed licenses.
- Note
- TCP ports might go into TIME_WAIT status, TCP ports in the system as a whole might run short and cause transactions to generate errors, or HiRDB might terminate abnormally. Should any such problems occur, set the operating system parameters to avoid port shortages. For details, see 22.4.4 Ways to avoid a shortage of ports.
- Organization of this section
- (1) Specifying parameters unique to AIX
(a) Specifying environment variables
For AIX, you need to specify the environment variables given below in the system common definition. Note that the environment variables PSALLOC, NODISCLAIM, and CORE_NOSHM do not need to be specified in the system common definition.
Also, note that the environment variables below must also be set in the HiRDB command execution environment. The values of the environment variables set in the system common definition must the same as the values set in the HiRDB command execution environment. For details about setting environment variables, see the OS documentation.
- EXTSHM
For 32-bit mode HiRDB, specify ON, which indicates that there are no restrictions on the number of shared memory areas in process space.
For 64-bit mode HiRDB, if you are using the page fix facility of shared memory, do not specify (omit) putenv EXTSHM ON in order to enable the OS's page fix facility. Also, for 64-bit mode HiRDB servers, if you are using the inter-process memory communication facility between 32-bit mode client processes, specify ON, indicating that there are no restrictions on the number of shared memory areas in process space.
The following table shows EXTSHM environment variable specification formats for combinations of address modes and facilities used.
| Address mode of HiRDB server |
Page fix facility of shared memory#1 |
Inter-process memory communication facility with 32-bit mode client processes |
Specification format for the EXTSHM environment variable |
| 32-bit mode |
--#2 |
Y |
putenv EXTSHM ON#3 |
| N |
| 64-bit mode |
Y |
Y |
--#4 |
| N |
Do not specify |
| N |
Y |
putenv EXTSHM ON |
| N |
--#5 |
- Legend:
- Y: Facility is used
- N: Facility is not used
- --: N/A
- #1
- The page fix facility of shared memory is used when you specify fixed in the pd_shmpool_attribute operand or pd_dbbuff_attribute operand. For details, see pd_shmpool_attribute operand or pd_dbbuff_attribute operand in the manual HiRDB Version 9 System Definition.
- #2
- The facility is not supported.
- #3
- If the size of one segment of shared memory is less than 256 MB, the OS releases shared memory in 4 KB units in shared memory detachment processing that occurs when processes stop. This could cause CPU usage rates to rise and a system switchover to occur. When the number of shared memory segments attached with a single process (the number of shared memory segments that can be checked with the pdls -d mem command) is fewer than 11, do not specify EXTSHM=ON.
- #4
- The page fix facility of shared memory cannot be used simultaneously with the inter-process memory communication facility between 32-bit mode client processes.
- #5
- This parameter is not required.
- PSALLOC
In the HiRDB command execution environment, specify early, which indicates that the required paging space is to be allocated immediately. You also need to specify NODISCLAIM at the same time. However, useless paging space might still occur.
- NODISCLAIM
In the HiRDB command execution environment, specify true, which prevents nodisclaim() from being issued as the method of processing a free() call.
- LDR_CNTRL
- For 32-bit mode, specify this variable so that a larger data area than the standard kernel partitioning can be handled. Specify MAXDATA=0x40000000. This variable is not required for 64-bit mode.
- CORE_NOSHM
In the HiRDB command execution environment, specify two consecutive double quotation marks ("") to exclude the shared memory area in the core file, which is output when a process failure occurs. For details, see (d) Restricting the core file output information.
(b) Notes on the /etc/security/limits file specification values
Root users and HiRDB administrators must pay attention to the following specification values:
- data
An error occurs when the process heap area exceeds the limit value. If this limit value is not required, specify -1 (unlimited).
- fsize, fsize_hard
An error occurs when the file size exceeds this limit value. If this limit value is not required, specify -1 (unlimited).
(c) Specifying the Virtual Memory Manager (VMM) tuning parameters
Specify the following parameters when using specific facilities. VMM parameters can be specified with AIX's vmo command (AIX 5L V5.2 or later). For details about the vmo command, see the AIX documentation.
- v_pinshm
This parameter enables page fixing for shared memory segments. To fix shared memory pages used by HiRDB, specify 1 for this parameter. For details about how to fix shared memory pages used by HiRDB, see pd_shmpool_attribute operand or pd_dbbuff_attribute operand in the manual HiRDB Version 9 System Definition.
- maxpin
This parameter specifies the maximum percentage of page-fixed real memory. When you fix shared memory pages used by HiRDB, specify this parameter so that the real memory size within the percentage specified in this parameter is larger than the total size (including the size of paged memory fixed by the OS) of all page-fixed memory on the machine, including the size of the page-fixed HiRDB shared memory. For details about how to fix shared memory pages used by HiRDB, see pd_shmpool_attribute operand or pd_dbbuff_attribute operand in the manual HiRDB Version 9 System Definition.
(d) Restricting the core file output information
You must specify the settings in such a manner that in AIX 5L V5.2 or later, the core file output in the event of a process failure does not include the shared memory area.
- Setting contents
- HiRDB administrator's environment variable (k shell)
- $ export CORE_NOSHM=
- Assumptions
- The fullcore parameter of the system attribute (sys0) is true.
- Notes
- The AIX version determines whether environment variable CORE_NOSHM is enabled. See the OS documentation to determine whether you can use this environment variable.
- HiRDB automatically sets fullcore to true when it registers with the OS (when the pdsetup command executes).
The fullcore parameter may have later been be reset to false with an OS command; make sure that the current fullcore parameter is true.
- Do not specify this environment variable CORE_NOSHM setting in /etc/environment.
(e) Notes on bogging down of programs due to high I/O load on the JFS/JFS2 file system
Execution of programs that send requests to the JFS/JFS2 file system for large output can cause the performance of system disk I/O to degrade. Programs such as pdcopy, or the compress, cp, and dd commands for large size files can cause programs running on the same system to stall for up to 20 to 30 seconds.
In particular, if the system operates with a cluster configuration that uses HA monitor or HACMP to monitor system response time, system switchover might occur.
To minimize this problem, you can equalize the write request frequency from application programs by setting an OS parameter for the system parameter (sys0). By specifying the following OS parameters, you can control I/O requests so that large numbers of I/O requests not completed for writing to the disk device do not accumulate in the file cache.
| OS parameters |
Guide to specification value# |
| Maxpout |
33 |
| Minpout |
16 |
- #
- The optimum setting value of the maxpout/minpout parameter depends on the system configuration or I/O characteristics of applications.
- Therefore, it is effective to set a value listed in the above table and increase the value until application I/O performance is acceptable.
- For details about the maxpout/minpout parameter setting values, see the documentation for the OS.
(f) Notes on correcting the system time
Note the following points when you use the NTP program to correct the system time.
- For the NTP adjustment method, choose Slew mode, which gradually corrects the shift in time so that large corrections of tens of seconds do not occur at once.
- In the AIX environment assignment file (/etc/environment), set GETTOD_ADJ_MONOTONIC=1 so that time will not be turned back.
The AIX version determines whether the environment variable GETTOD_ADJ_MONOTONIC is enabled.
See the OS documentation to determine whether you can use this environment variable.
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.