Appendix A. Installation Prerequisites#
Setting User Resource Limit Values#
User resource limit values can be confirmed or changed with the OS command, ulimit
.
File Size#
The maximum file size treatable by the process
Data Segment Size#
The maximum size of logical memory the process can use (vsz field).
Max Memory Size#
The maximum size of physical memory the process can use (RSS field)
Open Files (descriptor)#
The Maximum number of files and sockets simultaneously accessible by the process.
Stack size#
The maximum size of the stack
Virtual memory#
The maximum size of virtual memory usable by the process.
Unix users are recommended to set the resource limit values of a user's account to "unlimited" (caution is required that the core file size is not set to "unlimited"). If the Altibase server crashes and dumps the core, it will store every memory database as a core file, so setting it to unlimited may cause disk shortage. Altibase client products must have a stack size of at least 70KB.
Setting Kernel Parameters for Different Operating Systems (OS)#
System Kernel parameter values can be confirmed or changed with a utility provided for each operating system.
System kernel parameters can be classified into the following:
-
Semaphore
Semaphore setting for IPC connection -
File-cache
Settings for the prevention of memory insufficiency due to the operating system's file cache. - Other Settings
HP-UX#
Setting Kernel Parameters on HP-UX#
HP 11.31 or above: Kernel parameters can be set with the /usr/sbin/kcture utility.
Recommended Values#
Classification | Parameter Nam | Recommended Value(bytes) |
Shared Memory | shmmax | 2G+1 |
shmmin | 500 | |
shmseg | 200 | |
Semaphore | semmns | 8192 |
semmns | 8192 | |
semmni | 5029 | |
semmsl | 2000 | |
semmap | 5024 | |
semmnu | 1024 | |
semopm | 512 | |
semume | 512 | |
semvmx | 32767 | |
File-Cache(HP recommends 20% for 8G or less, 10% for 8G or more) | dbc_min_pct | 5% |
dbc_max_pct | 5~20% | |
Others | maxdsiz | 2GB |
maxdsiz_64bit | The amount of memory which is predicted that Altibase will used | |
max_thread_proc | 600 or more | |
maxfiles | 2048 or more | |
nproc | 6142 | |
maxusers | 124 |
AIX#
Setting Kernel Parameters on AIX#
Kernel parameters can be set with the /usr/bin/smit utility
Recommended Values#
The same values for shared memory and semaphore on HP-UX are also recommended for AIX.
Setting File-Cache#
Depending on the file caching policy for AIX, the file system can swap-out memory from the application program heap, although the system has free memory, and use it as file-cache (this is called stealing).
For AIX 5.2 or higher, kernel parameters can be set as below to prevent the system from stealing:
minperm = 5%
lru_file_repage = 0 (AIX 5.2 ML4 or higher)
strict_maxclient = 0
Configuration of Posix AIO#
AIX provides the Posix A/O interfaces for improved disk I/O improvement which must be manually activated. However, from AIX 6.1 and higher, the interfaces are activated by default.
Posix AIO can be activated as below:
-
Change "Configure Defined Asynchronous I/O" to Available through smit.
-
Change "STATE to be configured at system restarted" to Available through smit.
This Installation and startup of Altibase are impossible on AIX if the system is not set as above.
LINUX#
Setting Kernel Parameters on Linux#
Kernel parameters can be set in the sem,shmmax, shmmni, swapiness files at the /proc/sys/kernel path. In Redhat 7.2 and later versions check the value of RemoveIPC in /etc/system/login.conf .
Recommended Values#
The same values for shared memory and semaphore on HP-UX are also recommended for Linux
However, sessions using the IPC connection can be abruptly cut off, if the Linux kernel version is lower than 2.5.
To set kernel parameters automatically when the server boots, add the following to the /etc/rc.d/rc/local file.
echo 2147483648 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 200 32000 512 5029 > /proc/sys/kernel/sem
echo 1 > /proc/sys/vm/swappiness
Setting in RemoveIPC#
In RedHat 7.2 and later versions, it is recommended to set the RemoveIPC setting to 'no' (default is 'yes'). If RemoveIPC is set to 'yes', there is a shortage of semaphores and an abnormal termination may occur.
To change the setting, you need to set the RemoveIPC = no in etc/system/logind.conf and restart the OS.
Configuration of THP (Transparent Huge Pages)#
THP is amemory management system provided by a Linux and its main purpose is to reduce the expenses for viewing TBL (Translation Lookaside Buffer) by increasing the size of memory pages.
However, unlike the original intention, THP causes memory allocation delay and fragmentation which eventually deteriorates the performance in most cases. Thus, THP option should be deactivated in order to use Altibase with its optimized performance.
It is advised to set the THP option to 'never' in order to run the Altibase operation.
Verification method for THP configuration#
The available options of THP are always, madvise, and never. Besides, the option inside the square brackets [] is the option currently applied.
-
madvise: This is an option in which THP is activated on a process explicitly requested through the madvise()function.
-
always: THP is always applied into all process
-
never: means deactivating THP on all process regardless of requesting the madvise()function
How to verify for THP Configuration are follows:
-
Execute the following command indicated below:
$ cat /sys/kernel/mm/transparent_hugepage/enabled
-
Execute the following command in RedHat Linux:
$ cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
-
Then, the following output is displayed:
$ [always] madvise never
Verification method for THP configuration#
Deactivation method for THP
It is advised to set the HTP option to never in order to run the Altibase operation.
-
Add transparent_hugepage=never to the end of the line kernel boot of /etc/grub.conf with the root account.
..... kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=067b9803-90ca-4875-a018-ff043adde1ed rd_NO_LUKS LANG=ko_KR.UTF-8 rd_NO_MD quiet rhgb crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=us rd_NO_LVM rd_NO_DM transparent_hugepage=never ......
-
Reboot the system.
-
Confirm whether the THP option is never or not.
Red Hat Enterprise Linux 9#
Altibase has supported RHEL 9 since Altibase version 7.3.0.0.9.
Checking Disk Configuration#
Redo log files and data files generally experience disk I/O in Altibase. To minimize performance loss due to disk I/O, we recommend that you segregate redo log files and data files onto a separate physical disk.
OS Patch#
Linux#
There is a bug in glibc that could cause deadlock due to race conditions such as malloc/free, and it must be patched beyond the patch taht reflects the bug. In this case, it is recommended to be glib patched with glibc-2.12-1.166.el6_7.1 and/or higher version.
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1244002
AIX#
When using Altibase on AIX, memory usage increases (hearpmin library bug). In this case, C/C++ compilers of the appropriate version must be patched from the IBM Support Potal.