min_free_kbytes Setting
This topic details how to update the min_free_kbytes setting so that it is within the range supported by Vertica. The installer reports this issue with the identifier: S0050 if the setting is too low, or S0051 if the setting is too high.
The vm.min_free_kbytes setting configures the page reclaim thresholds. When this number is increased the system starts reclaiming memory earlier, when its lowered it starts reclaiming memory later. The default min_free_kbytes is calculated at boot time based on the number of pages of physical RAM available on the system.
The setting must be the greater of:
- The default value configured by the system, or
- 4096, or
- determine the value from running the command below.
The installer automatically configures the correct setting if the default value does not meet system requirements. If there is an issue setting this value, or you have used the --no-system-configuration
argument to the installer and the current setting is incorrect, then the installer reports this as an issue.
All Systems
To manually set min_free_kbytes:
- Determine the current/default setting with the following command:
- If the result of the previous command is
No such file or directory
or the default value is less than 4096, then run the command below: - Edit or add the current value of
vm.min_free_kbytes
in/etc/sysctl.conf
with the value from the output of the previous command. - Run
sysctl -p
to apply the changes insysctl.conf
immediately.
/etc/sysctl vm.min_free_kbytes
memtot=`grep MemTotal /proc/meminfo | awk '{printf "%.0f",$2}'`
echo "scale=0;sqrt ($memtot*16)" | bc
# The min_free_kbytes setting
vm.min_free_kbytes=5572
These steps will need to be replicated for each node in the cluster.