Skip to end of metadata
Go to start of metadata


OverviewCheck the current setting value, and if the setting is not recom


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.



glibc Compatibility 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 VersionOS Versionglibc Version
Altibase v7.3.0Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS 8 / Rocky Linux 82.12 ~ 2.33
Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 72.12 ~ 2.33
Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 62.12 ~ 2.33
Ubuntu 182.27 ~ 2.33
Ubuntu 162.23 ~ 2.33
Ubuntu 122.17 ~ 2.33
POWER7 w/Red Hat Enterprise Linux 6.52.12 ~ 2.33
POWER8(LE) w/Red Hat Enterprise Linux 7.22.17 ~ 2.33
Altibase v7.1.0






Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS 8 / Rocky Linux 82.12 ~ 2.33
Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 72.12 ~ 2.33
Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 62.12 ~ 2.33
Ubuntu 18

2.27 ~ 2.33
Altibase 7.1.0.7.2 or higher

Ubuntu 16

2.23 ~ 2.33
Altibase 7.1.0.7.2 or higher

Ubuntu 122.17 ~ 2.33
POWER7 w/Red Hat Enterprise Linux 6.52.12 ~ 2.33
POWER8(LE) w/Red Hat Enterprise Linux 7.2

2.17 ~ 2.33
Altibase 7.1.0.0.8 or higher

Altibase v6.5.1






Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS 8 / Rocky Linux 82.12 ~ 2.33
Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 72.12 ~ 2.33
Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 62.12 ~ 2.33
Ubuntu 122.17 ~ 2.33
POWER8 w/Red Hat Enterprise Linux 7.12.12 ~ 2.33
POWER7 w/Red Hat Enterprise Linux 6.52.12 ~ 2.33
POWER8(LE) w/Red Hat Enterprise Linux 7.6

2.17 ~ 2.33
Altibase 6.5.1.4.5 or higher

POWER8(LE) w/Red Hat Enterprise Linux 7.2

2.17 ~ 2.33
Altibase 6.5.1.4.5 or higher

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 Recommended Version

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.

The recommended parameter types are as follows:

  • 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.

Kernel ParameterDescriptionRecommended 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.performance

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 ParameterDescriptionRecommended Value
RemoveIPCRemoves 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 ParameterDescriptionRecommended Value
swappinessThis 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 ParameterDescriptionRecommended 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 ParameterDescriptionRecommended Value
max_map_countThis 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 ParameterDescriptionRecommended Value
shmmniThe maximum number of shared memory segments that can be created. The default value is 4096.4096
shmmaxThe 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 ParameterDescriptionRecommended Value
semmslThe 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 semaphore2000
semmnsThe maximum number of semaphores in the operating system, and 16 bytes of kernel memory are allocated per one.32000
semopmThe maximum number of operations handled by the semop system call.512
semmniThe 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.

How to Change the Settings


Change Immediately

Settings using the governor directive and the cpupower command can be changed while online, but initialized when the OS is restarted.

Governor directives using the cat command
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

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.

 

Shared Memory and Semaphore

How to Check Set Value

lpcs command

How to check shared memory and semaphore 1 - Using ipcs command

sysctl command

How to check shared memory and semaphore 2 - Using 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


Restart the OS to see the changes. Restarting the OS may be performed at once after all kernel parameters are changed.

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 commandItems in limits.confDescriptionRecommended Value
data seg size (kbytes, -d)dataThe maximum memory size of the process data areaunlimited
file size (blocks, -f)fsizeThe maximum size of files that can be createdunlimited
open files (-n)nofileThe maximum number of open file descriptors a process can open1048576
max memory size (kbytes, -m)rssThe maximum amount of available memoryunlimited
virtual memory (kbytes, -v)asThe maximum amount of virtual memory availableunlimited
max user processes (-u)nprocThe maximum number of processes (including threads) that the user can rununlimited

Related Error Message

This is an error message caused by resource limitations. If the following message is checked while operating the Altibase server, it is necessary to check the resource limit settings.

  • 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.

Check the resource limit set in the Altibase server process with the following command.

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.

User resource limit setting example - added to .bash_profile

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

System resource limits include Hard-Limit and Soft-Limit. Hard-Limit means the maximum resource limit setting value that can be set by the OS general user, and Soft-Limit means the resource limit value set by the user.

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.

ClassificationEnvironment VariableDescriptionSetting Value
Required (Auto Setting)ALTIBASE_HOMESpecifies the path where Altibase is installedDepends on the environment
Required (Auto Setting)PATHFinds the location Altibase's utilities and shell scripts$ALTIBASE_HOME/bin
Required (Auto Setting)LD_LIBRARY_PATHFinds the location of the Altibase dynamic library$ALTIBASE_HOME/lib
Required (Auto Setting)CLASSPATHFinds the location of the Java Class file$ALTIBASE_HOME/lib
Required (Manual Setting)ALTIBASE_NLS_USESets the Altibase client character set. Set the same as the Altibase server character set.Same as Altibase server character set
Required (Manual Setting)LANGDefines the user's system localeIt is affected by the Altibase server character set.
Select (Manual Setting)MALLOC_ARENA_MAX
  • A feature added in Red Hat Enterprise Linux 6 to improve performance issues due to memory contention between threads in a multi-threaded application environment. 
  •  The default is the number of CPU cores * MALLOC_ARENA_TEST. 
  •  The default value of MALLOC_ARENA_TEST environment: 2 for 32-bit, 8 for 64-bit. 
  •  The MALLOC_ARENA_MAX environment variable works properly in glibc2.10 or later.
-
  • Environment variable 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.

    • The default value of this environment variable is influenced by the number of CPU cores. As the number of CPU cores increases, the VSZ of the Altibase server process may increase excessively.

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 SetALTIBASE_NLS_USELANG
MS949MS949ko_KR.euckr
KOS16KSC5601KOS16KSC5601ko_KR.euckr
UTF88UTF8Ko_KR.utf8

Refer to the table above and add environment variables to the user configuration file .bash_profile.

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


 

CategoryRecommendation settingHow to check
Kernel ParameterCPU frequency Governorperformancecat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | sort -u
CPU core clock speed is fixed at maximumgrep MHz /proc/cpuinfo | sort -u
RemoveIPCnogrep RemoveIPC /etc/systemd/logind.conf
swappiness1

cat /proc/sys/vm/swappiness or
sysctl -a | grepswappiness

THP never

cat /sys/kernel/mm/transparent_hugepage/enabled

All 0 besides Hugepagesizegrep -i huge /proc/meminfo
Including transparent_hugepage=nevercat /proc/cmdline
max_map_count2147483647cat /proc/sys/vm/max_map_count
Shared Memoryshmmni4096

ipcs -m -l

sysctl -a | grep -e kernel.shmmax -e kernel.shmmni

shmmax2147483648
Semaphoresemmsl2000

ipcs -s -l

sysctl -a | grep -kernel.sem




semmns32000
semopm 512
semmni5029
OS User Resource Limitation




data seg size

(kbytes, -d)unlimitedulimit -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.

The time it takes to run the Altibase server process may take a long time depending on the situation.
  • 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



  • No labels