This section describes the best practices for an optimal Kinetica installation. After modifying any parameter values, for the modification to take effect, it is recommended to reboot the system.
System-wide resource limits
Linux by default imposes certain limits on the use of system-wide resources. Kinetica recommends (as a safety measure to change) these per-user limits from the defaults to higher values to prevent the system from ever hitting the limits. This can be done either by editing the
/etc/security/limits.conf
or by running the linuxulimit
command which will make the be effective only for the remainder of the session.
File descriptors limit
Kinetica does not require a large number of simultaneously open files during operation, nevertheless it is recommended to set the soft limit to 16384 and the hard limit to 63536. This can be done either the linux ulimit
command or by directy updating (or adding) the following entries in the file /etc/security/limits.conf
gpudb soft nofile 16384
gpudb hard nofile 63536
Process limit
Kinetica does not require a large number of simultaneously open files during operation, nevertheless it is recommended to set both the hard and the soft limits to 16384. This can be done either the linux ulimit
command or by directy updating (or adding) the following entries in the file /etc/security/limits.conf
gpudb soft nproc 16384
gpudb hard nproc 16384
CPU performance throttling
For optimal performance the power scaling setting should be set to performance in the file
/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
to disable the on-demand CPU throttling.
Kernel tuning parameters
The following parameters to the Linux Virtual memory subsystem should be tweaked for optimal performance. Unless specified, these values are configured in the file /etc/sysctl.conf
. Login with root privileges to modify (or add) the values and then reboot the system for the value to take effect.
System memory Swapping
The swappiness value (which controls how aggressively the system swaps memory pages) should be set to 10 or less in the sysctl.conf
vm.swappiness = 10
Zone reclaim mode
The Zone reclaim mode (which controls the approach taken by the system taken to reclaim the memory when a zone runs out of memory) should be set to 7 in the sysctl.conf
vm.zone_reclaim_mode = 7
vfs_cache_pressure
This parameter controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects and it is recommended to set this value to 200 or greater
vm.vfs_cache_pressure = 200
Transparent hugepages
Disable transparent hugepages for better performance. This value is specified in file /sys/kernel/mm/transparent_hugepage/enabled
and should be set to 'never' as follows
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled