Linux System Recommendations

This section describes some Linux operating system settings that you might want to modify to improve IDOL performance and function. You might need additional system privileges to make these changes. In all cases, HPE recommends that you test on your own systems to find the optimal settings for your setup.

Note: For many of the settings listed in this section, values and example commands are given for Red Hat Enterprise Linux (RHEL). You might need to check the default values and suggested commands for other Linux distributions.

Open File Descriptors

The IDOL Content component can use a large number of files for certain tasks, such as indexing, particularly for large indexes. On Linux systems, the number of file descriptors is limited to prevent them from using too much memory. The memory usage of a single file descriptor is low, so it is usually safe to set the limit to a high value. HPE recommends that you increase the limit value to at least 65536 for the user that the IDOL Content component runs as.

You can find an estimate of the number of files that a process (with a specified process ID) is using by using the following command:

ls -l /proc/ProcessID/fd | wc -l

You can find the current limit for the number of files by using the following commands: 

Ulimit –Sn
Ulimit -Hn

There are two limits to the number of files that processes can use: 

To modify the individual process file limit for the user that the IDOL Content component runs as (UserName), open the /etc/security/limits.conf configuration file, and add or modify the following lines to modify the soft and hard file limits (where NewValue is the limit that you want to set, in MB of RAM):

UserName hard nofile NewValue
UserName soft nofile NewValue
UserName hard nproc NewValue
UserName soft nproc NewValue

Tip: On Ubuntu, when you use the start-stop-daemon, you might need to run the ulimit command in the init script to update the hard and soft limits when you start the service.

If you start IDOL component executable files directly (rather than using the init script) by using SSH and su, you might also need to modify the /etc/pam.d/su file to uncomment the following line:

# session    required   pam_limits.so

Transparent Huge Pages

Transparent Huge pages (THP) is the use of an abstraction layer that automates the creation, management and use of Huge Pages for memory management. In RHEL 6 and later, this feature is turned on by default, but Red Hat does not recommend the use of THP for database workloads. For IDOL, turning this setting off can improve the performance for many query operations.

You can change this setting in a terminal by using the following commands:

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

Tip: On Ubuntu, you can use the following commands:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

You can also turn this setting off at boot time, by adding the following text to the bottom of the /etc/rc.local file:

#disable THP at boot time
if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
fi

Tip: On Ubuntu, the /etc/rc.local ends with the line exit 0, and you must make any changes to the file above that line.

Tune Virtual Memory

HPE recommends tuning the virtual memory usage for Linux systems for database workloads to improve IDOL performance. In particular, you might want to modify the following settings:

You can check the current values for these settings by running the following command in the terminal: 

# sysctl –a | grep "vm.Parameter

To change these settings permanently, update the /etc/sysctl.conf configuration file, to add or modify the following lines:

vm.swappiness = 10
vm.dirty_ratio = 15
vm.dirty_background_ratio = 3

Memory Map Counts

The IDOL Content component can use a large number of memory map areas for certain tasks, such as indexing, particularly for large indexes. On Linux systems, the number of memory mapped areas that a process can use is limited, to a value controlled by the max_map_count kernel parameter. To prevent IDOL from reaching this limit, HPE recommends that you increase the value of the max_map_count parameter to the amount of memory on the system in KB /16, but no less than 65536.

Note: This recommendation applies for a single IDOL Server (or Content component) running on the host machine. If you have multiple Content components running on the same host, you might need to limit this value further.

You can find an estimate of the number of memory mapped areas that a process (with a specified process ID) is using by using the following command:

cat /proc/processID/maps | wc -l

You can find the current value of max_map_count by using the following command:

sysctl vm.max_map_count

You can change the value of max_map_count by using the following command:

sysctl vm.max_map_count=NewValue

_HP_HTML5_bannerTitle.htm