OverviewCheck the current setting value, and if the setting is not recom
vm.max_map_count = 2147483647를 추가하거나 값을 변경한다.
Check the current setting value, and if the setting is not recommended, change it by referring to the guide below.swappiness파일 끝에 아래 내용을 추가한다.
This document provides a guide for setting kernel parameters and OS user configuration for the stable operation of the Altibase server on the Linux system.
This document is based on the version below:
Altibase 5.5.1 or later
Red Hat Enterprise Linux 6 or later
Linux Compatibility
Linux has many distribution types, but the Altibase compatibility check is based on glib version regardless of the distribution type and kernel version.
Starting from Altibase 5.5.1, the compatibility is checked based on the glibc version.
The glibc versions with guaranteed compatibility for each Altibase server version are as follows.
| Altibase Version | OS Version | glibc Version |
|---|---|---|
| Altibase v7.3.0 | Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS 8 / Rocky Linux 8 | 2.12 ~ 2.33 |
| Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7 | 2.12 ~ 2.33 | |
| Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 6 | 2.12 ~ 2.33 | |
| Ubuntu 18 | 2.27 ~ 2.33 | |
| Ubuntu 16 | 2.23 ~ 2.33 | |
| Ubuntu 12 | 2.17 ~ 2.33 | |
| POWER7 w/Red Hat Enterprise Linux 6.5 | 2.12 ~ 2.33 | |
| POWER8(LE) w/Red Hat Enterprise Linux 7.2 | 2.17 ~ 2.33 | |
| Altibase v7.1.0 | Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS 8 / Rocky Linux 8 | 2.12 ~ 2.33 |
| Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7 | 2.12 ~ 2.33 | |
| Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 6 | 2.12 ~ 2.33 | |
| Ubuntu 18 | 2.27 ~ 2.33 | |
| Ubuntu 16 | 2.23 ~ 2.33 | |
| Ubuntu 12 | 2.17 ~ 2.33 | |
| POWER7 w/Red Hat Enterprise Linux 6.5 | 2.12 ~ 2.33 | |
| POWER8(LE) w/Red Hat Enterprise Linux 7.2 | 2.17 ~ 2.33 | |
| Altibase v6.5.1 | Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS 8 / Rocky Linux 8 | 2.12 ~ 2.33 |
| Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7 | 2.12 ~ 2.33 | |
| Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 6 | 2.12 ~ 2.33 | |
| Ubuntu 12 | 2.17 ~ 2.33 | |
| POWER8 w/Red Hat Enterprise Linux 7.1 | 2.12 ~ 2.33 | |
| POWER7 w/Red Hat Enterprise Linux 6.5 | 2.12 ~ 2.33 | |
| POWER8(LE) w/Red Hat Enterprise Linux 7.6 | 2.17 ~ 2.33 | |
| POWER8(LE) w/Red Hat Enterprise Linux 7.2 | 2.17 ~ 2.33 | |
| Altibase v6.3.1 | 2.3.4 ~ 2.20 | |
| Altibase v6.1.1 | 2.3.4 ~ 2.20 | |
| Altibase v5.5.1 | 2.3.4 ~ 2.20 |
glibc-2.12-1.166.el6_7.1 or later is recommended.
In the previous version of glibc, there was a bug in which a system call (malloc/free) function could cause deadlock due to a race condition.
How to Check the glibc Version
How to check the glibc version is as follows.
Kernel Parameters
This section describes the types of kernel parameters, recommended values, and recommended reasons for configuring Altibase in Linux to operate stably.
CPU frequency Governor
RemoveIPC
swappiness
THP
max_map_count
Shared memory
Semaphore
CPU Frequency Governor
Altibase server is a system that absolutely requires maximum processing performance and shortest response time, so CPU clock speed should always be kept at the highest level.
Linux keeps pace with green IT (environmentally friendly computing) and efficiently minimizes power consumption of the system as the core of power management and provides CPUfreq Governor for this.
The default setting of OnDemand Governor in RHEL 6 has a case where the Altibase server performance cannot guarantee consistency due to the delay due to frequency change. Therefore, it is recommended to set it to 'performance' or disable this function itself.
| Description | Recommended Value | |
|---|---|---|
| CPU frequency Governor (CPUfreq Governor) | This is a performance adjuster that adjusts CPU frequency change rules, etc. for power management in Linux. The default value of RHEL 6 is OnDemand, the CPU operates at the highest clock frequency when the system load is high, and operates at the lowest frequency when the system is idle. |
RemoveIPC
RemoveIPC is an option added in RHEL 7.2. It is a Linux property that removes the System V IPC and POSIX IPC objects when the OS user terminates the session.
In the case of the default setting 'yes', cases of abnormal termination of the Altibase server and applications due to forced semaphore allocation and return in the Altibase environment using IPC have been reported. Even in an environment that does not use IPC, 'no' is recommended because there have also been reported that affects system performance due to RemoveIPC-related actions and system calls occurring in the kernel.
| Kernel Parameter | Description | Recommended Value |
|---|---|---|
| RemoveIPC | Removes all IPC resources when the OS user logs out. The root user and system user are not affected by this setting. The default value is 'yes'. | no |
Swappiness
This is a recommended kernel parameter to minimize the effect of disk I/O on the performance of the Altibase server when swapping occurs.
Swapping refers to the operation (swap out) of moving out the physical memory area, which is less frequently used, into the swap area in a situation where the physical memory is insufficient. The swap is to use the disk as a memory and when the swap out occurs, the system performance decreases due to DISK I/O.
Therefore, it is important to properly set the swappiness to maintain the stable and consistent performance of the Altibase server.
| Kernel Parameter | Description | Recommended Value |
|---|---|---|
| swappiness | This can be set between 0 to 100. A low value makes the kernel use pages from page cache as much as possible, and a high value prefers to swap out less frequently used pages(cold pages)Linux for managing a car amount of memory in physical memory. | 1 |
Disabling swappiness completely increases the likelihood that the Altibase server process will be killed abnormally by the OOM Killer in low memory situations.
Recommendation '1' is a setting to minimize swapping without disabling swappiness.
The page cache is a memory area managed by Linux to improve file I/O performance.
THP(Transparent Huge Pages)
THP is a setting adopted by Linux for managing a large amount of memory. It is a setting to automate the function of expanding a memory page of 4096 bytes in units of 2MB or 1GB.
However, in the Altibase operating environment, cases of performance issues due to memory allocation delays and fragmentation have been reported, so deactivation is recommended.
| Kernel Parameter | Description | Recommended Value |
|---|---|---|
| THP(transparent_hugepage) | This automates the function to expand the memory page unit managed by the kernel from the existing 4K to 2M or 1G. The default value is 'always' | Never |
max_map_count
When operating a terabyte unit memory table, memory allocation may fail due to the max_map_count parameter limitation. It is recommended to set it to a sufficiently large value because it can seriously affect the operation of Altibase such as transaction failure.
| Kernel Parameter | Description | Recommended Value |
|---|---|---|
| max_map_count | This is the maximum number of memory map areas that a process can use. In most cases, the default value 65530 is suitable, but if the user needs to map more than this file to the application, the user should increase this value. | 2147483647 |
If memory allocation fails due to this parameter limitation,
The following message may be left in the Altibase trace log altibase_boot.log.
Failed to mmap log file ( errno=ENOMEM(12), Not enough memory
In the application, an error such as Memory [iduMemMgr :: malloc] failed. may occur.
Shared Memory
This is a kernel parameter required when multiple applications need to exchange information with each other on one server.
When the communication method between Altibase server and client is IPC or IPCDA type
Two or more Altibase applications communicate over IPC
The OS provides a resource called IPC (Inter Process Communication). Among various IPC resources, the memory area used by two or more processes to exchange information is called shared memory. The shared memory can be set by the user by dividing it into one or more areas by specifying a unit, and this is called a segment.
For example, a user can set up a shared memory with one segment at 10 MB or a shared memory of 100 MB by organizing 10 segments with 10 MB. Therefore, it is necessary to set the segment-related kernel parameters such as the maximum size or number of segments.
Shared memory related parameters provided by Linux and recommended values from Altibase are as follows.
| Kernel Parameter | Description | Recommended Value |
|---|---|---|
| shmmni | The maximum number of shared memory segments that can be created. The default value is 4096. | 4096 |
| shmmax | The maximum size of one shared memory segment, in bytes. For x86 systems, the minimum setting is 268435456 bytes (256MB) and for 64-bit systems it is 2147483648 bytes (2GB). | 2147483648 |
Semaphore
This is a kernel parameter required to implement synchronization between processes when the communication method between the Altibase server and the client is IPC or IPCDA type.
Semaphore is a resource provided by the OS to restrict access to shared resources in IPC. Since the shared memory is used as a communication buffer in the IPC or IPCDA communication method, semaphore operation is used to control read/write concurrency for this resource. Depending on the semaphore operation, the process can be in waiting or in progress state. Since semaphore operations occur simultaneously, it is necessary to set the number of semaphores and the appropriate kernel parameters for the operations.
Semaphore-related parameters provided by Linux and recommended values from Altibase are as follows.
| Kernel Parameter | Description | Recommended Value |
|---|---|---|
| semmsl | The maximum number of semaphores in a set of semaphores and must be logically equal to or less than semmns. If set too large, several semaphore IDs can monopolize the entire system semaphore | 2000 |
| semmns | The maximum number of semaphores in the operating system, and 16 bytes of kernel memory are allocated per one. | 32000 |
| semopm | The maximum number of operations handled by the semop system call. | 512 |
| semmni | The maximum number of semaphore sets can be set within 65535 and 85 bytes of kernel memory is allocated per set. | 5029 |
How to Change Kernel Parameters
Let's learn how to check and change the settings of each kernel parameter.
CPU frequency Governor
It is recommended that the CPU frequency governor is set as performance.
How to Check Set Value
Normally, it is checked with the cat command. If the cpupowerutils package is installed, it can also be checked with the cpupower command.
1. cat command
CPU frequency governor setting confirmation method and output example - cat
If CPUfreq driver is not installed, the following output may be displayed. In this case, it is not necessary to consider the CPU frequency governor setting.
How to check whether the CPUfreq governor driver is installed
Red Hat Enterprise Linux 6
Red Hat Enterprise Linux 7
2. cpupower command
How to check CPU frequency governor settings - cpupower
3. How to check clock speed per CPU core
Check if the clock speed of all CPU cores is set with the following command.
Change Immediately
Settings using the governor directive and the cpupower command can be changed while online, but initialized when the OS is restarted.
cpupower
Permanent Application
This is a way to keep the settings even after restarting the OS.
1. rc.local: Applicable only on RHEL 6
Add the following line to the /etc/rc.local file:
2. Using udev rules: For RHEL 7 and above
Create or modify the file `/etc/udev/rules.d/99-cpufreq.rules`:
Add the following:
udevadm reload:
3. Using tuned : RHEL 7 and above
On RHEL 7 or later, a tuned profile configuration may be required.
Check the active tuned profile:
If the tuned service is stopped or there is no active profile, this step is not necessary. If tuned is active, check the current profile and apply the appropriate configuration.
Example:
Changing the profile configuration: Example when the currently active profile is the virtual-guest profile
[main] Add the following to the session:
Using built-in Linux profiles like throughput-performance or latency-performance can have the following effects:
- The CPUfreq governor is set to performance.
- The CPU clock speed is fixed to the maximum.
Apply changed profile:
Alternatively, change the active profile to throughput-performance or latency-performance.
RemoveIPC applies to Red Hat Enterprise Linux 7.2 and later, and the recommended value is 'no'.
How to Check Set Value
Make sure RemoveIPC = no is set in the logind.conf file.
Check RemoveIPC settings
How to Change the Settings
Red Hat Enterprise Linux 7
Change Immediate
RemoveIPC does not provide a way to change immediately on Linux
Permanent Application
Open the /etc/systemd/logind.conf file with an editor and change RemoveIPC = no.
How to change RemoveIPC
Restart the OS or execute the following command to apply the changes.
Apply after changing RemoveIPC
swappiness
You can check the value of vm.swappiness in the following two ways.
1. checking /proc/sys/vm/swappiness file
example:
2. using sysctl comman
example:
3. Additional check for RHEL 8: Verify the vm.force_cgroup_v2_swappiness parameter
In a cgroup v1 environment on RHEL 8, the vm.swappiness setting has little effect on swap behavior, which may lead to unexpected swapping. To prevent this, an additional configuration recommended by Red Hat should be verified.
(Reference: https://access.redhat.com/solutions/6785021 )
Use the sysctl command to check the value of the parameter. The recommended value is 1.
example:
If the following result appears, it means the system does not support the vm.force_cgroup_v2_swappiness parameter, so you need to check setting number 4.
4. Additional check for RHEL 8 (vm.force_cgroup_v2_swappiness parameter not supported):memory.swappiness value of each cgroup
On RHEL 8 systems that do not support vm.force_cgroup_v2_swappiness, you need to verify the memory.swappiness value for each cgroup. All values should be set to 1.
example:
If a value other than 1 appears as shown below, you need to change the memory.swappiness value of all cgroups to 1.
How to change the swappiness setting
Change Immediate
This method applies immediately, but the setting will be reset when the OS is rebooted.Permanent Application
The following method ensures the setting is retained even after rebooting the OS. To fully apply the configuration, the OS must be restarted.
1. Modify the default sysctl.conf file
Add the following setting or modify the existing value.
2. Create /etc/sysctl.d/99-sysctl.conf or modify the existing file.
Add the following setting or modify the existing value.
3. Additional setting for RHEL 8: vm.force_cgroup_v2_swappiness = 1
Add the following to both /etc/sysctl.d/99-sysctl.conf and /etc/sysctl.conf.
4. Additional setting for RHEL 8 (vm.force_cgroup_v2_swappiness parameter not supported): Change the memory.swappiness value of each cgroup to 1
Support for the vm.force_cgroup_v2_swappiness parameter in RHEL 8 may vary depending on the version.
For unsupported versions, it is recommended to contact the OS vendor for guidance on Workaround #2 described on the following page.
5. Using tuned: RHEL 7 and above
On RHEL 7 or later, configuring a tuned profile may be necessary.
Check the active tuned profile:
If the tuned service is stopped or there is no active profile, this step is not required. If tuned is active, check the current profile and apply the appropriate settings..
example:
Changing the profile configuration: Example when the currently active profile is throughput-performance
If there is a vm.swappiness setting in the [sysctl] session, modify it; if not, leave it as is.
If vm.force_cgroup_v2_swappiness is supported on RHEL 8, also add the following setting to the [sysctl] session.
Apply the changed profile:
THP
Check the current settings, and if the recommended configuration is not applied, refer to the guide below to make the changes.
Check THP settings
Verify the following three items to confirm that THP is disabled.
1. Check the current status of THP
Red Hat Enterprise Linux 6
Red Hat Enterprise Linux 7 and above
Recommended settings: never
The values enclosed in brackets ([]) in the output indicate the current settings.
2. Check /proc/meminfo
Example output: All values except Hugepagesize should be 0.
3. Check the boot loader settings
Example output: Verify that transparent_hugepage=never and transparent_hugepage.defrag=never are present.
How to change THP settings
To fully disable THP (Transparent Huge Pages), it is recommended to also change the defrag setting. If defrag is set to always, even with THP disabled, the kernel may still try to defragment fragmented memory when allocating large pages, which can cause unnecessary CPU usage and performance degradation.
Temporary application
The commands below will stop creating and using new THP. Previously created THP will not be released, and to completely remove them, you need to reboot the OS with THP disabled.
Red Hat Enterprise Linux 6
Red Hat Enterprise Linux 7 and above
Permanent application
The following settings are for maintaining the configuration even after rebooting the OS. To fully apply the changes, the OS must be restarted.
1. modify GRUB settings
modify grub.conf :
Red Hat Enterprise Linux 6 (/etc/grub.conf 수정)
RHEL 6 modification example: Add transparent_hugepage=never transparent_hugepage.defrag=never to the end of the kernel line.
Red Hat Enterprise Linux 7 and above (modify /etc/default/grub.conf)
RHEL 7 and later modification example: Add transparent_hugepage=never transparent_hugepage.defrag=never at the end of the GRUB_CMDLINE_LINUX entry.
Regenerate the GRUB configuration file::
- BIOS-based systems:
- UEFI-based systems:
OS reboot:
Reboot the OS to apply the changes.
2. Add rc.local configuration (RHEL 6 only)
Add the following content at the end of the file.
3. Using tuned: RHEL 7 and above
On RHEL 7 or later, configuring a tuned profile may be necessary.
Check the active tuned profile:
If the tuned service is stopped or there is no active profile, this step is not needed. If tuned is active, check the current profile and apply the settings.
example:
Changing the profile configuration: Example when the currently active profile is throughput-performance
If there is a transparent_hugepage setting in the [vml] session, modify it; if not, leave it as is.
Apply the changed profile:
Restart the OS to confirm the changes. The OS reboot can be done once after all kernel parameter changes are made.
max_map_count
Check the current settings, and if the recommended configuration is not applied, refer to the guide below to make the necessary changes.
1. Using cat
2. Using sysctl
How to change the max_map_count setting
Temporary application
Use the sysctl command. This setting applies immediately but will reset after the OS is restarted..
Permanent application
The following method ensures the setting is retained even after rebooting the OS. To fully apply the configuration, the OS must be restarted.
1. Modify the default sysctl.conf file
Add vm.max_map_count = 2147483647 or modify the existing value.
2. Add rc.local configuration (RHEL 6 only)
Add the following content at the end of the file.
3. Using tuned: RHEL 7 and above
On RHEL 7 or later, configuring a tuned profile may be necessary.
Check the active tuned profile:
If the tuned service is stopped or there is no active profile, this step is not required. If tuned is active, check the current profile and apply the appropriate settings.
example:
Changing the profile configuration: Example when the currently active profile is throughput-performance
If there is a max_map_count setting in the [sysctl] session, modify it; if not, leave it as is.
Apply the changed profile.
Restart the OS to verify the changes. You can perform the OS reboot once after all kernel parameter changes are completed.
How to Check Set Value
lpcs command
How to check shared memory and semaphore 1 - Using ipcs command
sysctl command
How to Change the Settings
Change Immediately
Use the echo command.
Immediate change shared memory and semaphores
Permanent Application
Add to /etc/sysctl.conf file.
Shared memory and semaphore permanent application - /etc/sysctl.conf
User Setting
This section describes the user settings required to install and operate the Altibase server on Linux. A user is an OS user, and is a user who installs the Altibase server and runs the Altibase server process.
The user login configuration file in the bash shell is .bash_profile. The user configuration file differs depending on the shell, but it is described based on the Linux default shell because it is a bash shell.
The user setting is divided into the following two categories:
Resource limitation
Environment variable
Resource Limitation
Linux provides settings to limit system resources such as CPU, memory, and files. Proper configuration is necessary because the purpose of preventing a specific user from monopolizing system resources, or the limitation of file creation or memory allocation, has a fatal effect on the operation of the Altibase server.
The resource items and recommended values in the Altibase server operating environment are as follows.
| ulimit command | Items in limits.conf | Description | Recommended Value |
|---|---|---|---|
| data seg size (kbytes, -d) | data | The maximum memory size of the process data area | unlimited |
| file size (blocks, -f) | fsize | The maximum size of files that can be created | unlimited |
| open files (-n) | nofile | The maximum number of open file descriptors a process can open | 1048576 |
| max memory size (kbytes, -m) | rss | The maximum amount of available memory | unlimited |
| virtual memory (kbytes, -v) | as | The maximum amount of virtual memory available | unlimited |
| max user processes (-u) | nproc | The maximum number of processes (including threads) that the user can run | unlimited |
Related Error Message
Insufficient max user processes
Failed to create a thread object.
resource temporarily unavailable
Insufficient open files
Too many open files
View and Change Resource Settings
Resource limits are set for each user, but apply individually to user processes.
To reflect the changed resource limit settings to the Altibase server, the Altibase server must be restarted.
How to Check Set Value
This command checks the resource limit setting value.
If the desired settings are not applied to the Altibase server process, the Altibase server must be restarted.
How to Change the Settings
Execute ulimit command
ulimit is a command to set resource limits. The ulimit configuration command is added to the .bash_profile of the configuration file of the OS user who installs and runs the Altibase server.
Apply the configuration file (.bash_profile)
Apply ulimit setting with the following command.
When applying the configuration file, the following error may occur.
This is an error caused by Hard-Limit.
Hard-Limit & Soft-Limit
If Hard-Limit is smaller than the value that user wants to set as ulimit, 'cannot modify limit' error occurs.
How to check Hard-Limit
Change /etc/security/limits.conf
Hard-Limit changes require root privileges. Add the following setting to the limits.conf file and save it.
Hard-Limit configuration example - OS user name is altibase
Log in as the OS user and perform step 2 again.
Environment Variables
This is an environment variable to be set after installing the Altibase server.
| Classification | Environment Variable | Description | Setting Value |
|---|---|---|---|
| Required (Auto Setting) | ALTIBASE_HOME | Specifies the path where Altibase is installed | Depends on the environment |
| Required (Auto Setting) | PATH | Finds the location Altibase's utilities and shell scripts | $ALTIBASE_HOME/bin |
| Required (Auto Setting) | LD_LIBRARY_PATH | Finds the location of the Altibase dynamic library | $ALTIBASE_HOME/lib |
| Required (Auto Setting) | CLASSPATH | Finds the location of the Java Class file | $ALTIBASE_HOME/lib |
| Required (Manual Setting) | ALTIBASE_NLS_USE | Sets the Altibase client character set. Set the same as the Altibase server character set. | Same as Altibase server character set |
| Required (Manual Setting) | LANG | Defines the user's system locale | It is affected by the Altibase server character set. |
| Select (Manual Setting) | MALLOC_ARENA_MAX |
| - |
This environment variable is optional.
In general, consider keeping the default value and setting it smaller than the default value if a memory issue is found.
Since this environment variable affects the performance and memory usage of the Altibase server process according to the set value, it is difficult to recommend the same value collectively.
How to Set Environment Variables
How to Check the Set Value
Check if the required environment variables are set correctly.
env command
The env result prints all environment variables set for the session.
echo command
The specified environment variable settings are output. If the value is not output, it means that the environment variable is not set.
How to Change the Settings
This is a method of setting the ALTIBASE_NLS_USE and LANG environment variables that must be manually set among the required environment variables.
Check the Altibase server character set
Set environment variables in .bash_profile file
Environment variables are set in units of OS user sessions. Therefore, it must be added to the user configuration file .bash_profile to be applied every time an OS user connects.
The table below shows the ALTIBASE_NLS_USE and LANG environment variable settings according to the Altibase server character set.
| Altibase Server Character Set | ALTIBASE_NLS_USE | LANG |
|---|---|---|
| MS949 | MS949 | ko_KR.euckr |
| KOS16KSC5601 | KOS16KSC5601 | ko_KR.euckr |
| UTF88 | UTF8 | Ko_KR.utf8 |
Environment variable setting example - added to .bash_profile
Apply to the configuration file .bash_profile
Apply the environment variable added with the following command.
Summary
| Category | Recommendation setting | How to check | ||
|---|---|---|---|---|
| Kernel Parameter | CPU frequency Governor | performance | cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | sort -u | |
| CPU core clock speed is fixed at maximum | grep MHz /proc/cpuinfo | sort -u | |||
| RemoveIPC | no | grep RemoveIPC /etc/systemd/logind.conf | ||
| swappiness | 1 | cat /proc/sys/vm/swappiness or | ||
| THP | never | cat /sys/kernel/mm/transparent_hugepage/enabled | ||
| All 0 besides Hugepagesize | grep -i huge /proc/meminfo | |||
| Including transparent_hugepage=never | cat /proc/cmdline | |||
| max_map_count | 2147483647 | cat /proc/sys/vm/max_map_count | ||
| Shared Memory | shmmni | 4096 | ipcs -m -l sysctl -a | grep -e kernel.shmmax -e kernel.shmmni | |
| shmmax | 2147483648 | |||
| Semaphore | semmsl | 2000 | ipcs -s -l sysctl -a | grep -kernel.sem | |
| semmns | 32000 | |||
| semopm | 512 | |||
| semmni | 5029 | |||
| OS User Resource Limitation | data seg size | (kbytes, -d) | unlimited | ulimit -a |
file size | (blocks, -f) | unlimited | ||
| open files | (-n) | 1048576 | ||
| max memory size | (kbytes, -m) | unlimited | ||
| virtual memory | (kbytes, -v) | unlimited | ||
| max user processes | (-u) | unlimited | ||
| OS User Environment Variable | ALTIBASE_HOME | Altibase installation path (absolute path) | env | |
| PATH | $ALTIBASE_HOME/bin | |||
| LD_LIBRARY_PATH | $ALTIBASE_HOME/lib | |||
| CLASSPATH | $ALTIBASE_HOME/lib | |||
| ALTIBASE_NLS_USE | Same as Altibase server character set | |||
| LANG | Based on Altibase server character set | |||
Others
Red Hat Enterprise Linux Recommended Swap Size
Red Hat Linux recommends the following for Swap sizing.
In the past, twice as much swap space as physical memory was recommended, but today with terabytes of memory, the last recommendation is not practical.
For systems with more than 140 logical processors or systems with more than 3 TB of RAM, a minimum swap space of 100 GB is recommended.
For details, refer to the Red Hat CUSTOMER PORTAL page.
What is the recommended swap size for Red Hat platforms?
Force termination of Altibase server process by timeout setting when registering Altibase startup service with systemd
Note for Linux distributions using RHEL 7 or higher or systemd.
If there is a timeout setting in the systemd service configuration file, there may be a phenomenon in which the Altibase server process is forcibly terminated by the OS while the Altibase server process is running during the OS boot process.
- TimeoutStartSec or TimeoutSec
In this case, the following message is left in the system log (messages).
Jun 3 07:25:26 r-sky-ex altibase: [SM] Recovery Phase - 2 : Loading Database
Jun 3 07:26:53 r-sky-ex systemd: altibase.service start operation timed out. Terminating.
Jun 3 07:26:53 r-sky-ex systemd: Failed to start altibase 7.1.
Jun 3 07:26:53 r-sky-ex systemd: Unit altibase.service entered failed state.
Jun 3 07:26:53 r-sky-ex systemd: altibase.service failed.
- Memory data and memory index is large or
- When Restart Recovery is in progress while Altibase is running
TimeoutStartSec or TimeoutSec setting value must be set enough according to the operating environment or set to 0 (timeout disabled).
Similarly, there is a TimeoutStopSec setting.
Please refer to 'man systemd.service' for more details.
SYS area CPU usage increase in the server where'Symantec Endpoint Protection (SEP) for Linux' is installed
It has been found that the CPU usage of the SYS area of the Altibase server process is increased by the Symantec Endpoint Protection process.
As a result of vtune analysis, as the number of Altibase sessions increases, the CPU usage of the SYS area increases significantly by system calls select() and write().
There is a case where the cause was not identified by Broadcom, and the vaccine program was changed. (As of June 2020)
The server environment where the symptoms are reported is as follows.
- Red Hat Enterprise Linux 7
- Symantec Endpoint Protection(SEP) for Linux