min_free_kbytes 设置
本主题详细说明如何更新 min_free_kbytes 设置,使其在 Vertica 支持的范围以内。安装程序将以标识符S0050(如果设置的值过低)或 S0051(如果设置的值过高)报告此问题。
vm.min_free_kbytes 设置将配置页面回收阈值。增大此数字时,系统会更早开始回收内存,减小此数字时,系统会更晚开始回收内存。min_free_kbytes 的默认值是在启动时基于系统中可用的物理 RAM 页数进行计算。
该设置必须是以下选项中的最大值:
-
系统配置的默认值
-
4096
-
运行以下命令的结果:
$ memtot=`grep MemTotal /proc/meminfo | awk '{printf "%.0f",$2}'` $ echo "scale=0;sqrt ($memtot*16)" | bc
如果默认值不符合系统要求,安装程序会自动配置正确的设置。如果设置此值时出现问题,或者已在安装程序中使用 ‑‑no‑system‑configuration
实参且当前设置不正确,安装程序将会报告此问题。
所有系统
要手动设置 min_free_kbytes:
-
使用以下命令确定当前/默认设置:
$ sysctl vm.min_free_kbytes
-
如果前一条命令的结果是
No such file or directory
,或默认值小于 4096,则运行以下命令确定正确的值:$ memtot=`grep MemTotal /proc/meminfo | awk '{printf "%.0f",$2}'` $ echo "scale=0;sqrt ($memtot*16)" | bc
-
使用上一条命令输出中的值,在
/etc/sysctl.conf
中编辑或添加vm.min_free_kbytes
的当前值。# The min_free_kbytes setting vm.min_free_kbytes=16132
-
运行
sysctl -p
立即在sysctl.conf
中应用更改。注意
必须对群集中的每个节点重复执行这些步骤。