启用或禁用透明大页
可以修改透明大页以满足 Vertica 配置要求:
-
对于 Red Hat 7/CentOS 7 和 Amazon Linux 2.0,必须启用透明大页。安装程序将以标识符S0312 报告不支持的调度程序问题。
-
对于 Red Hat 8/CentOS 8 和 SUSE 15.1,Vertica 按工作负载提供建议设置以优化系统性能。
-
对于其他所有系统,必须禁用透明大页或将其设为
madvise
。安装程序将以标识符S0310 报告不支持的调度程序问题。
对 Red Hat 8/CentOS 8 和 SUSE 15.1 按工作负载建议设置
Vertica 按工作负载建议透明大页设置以优化性能。下表列出了针对主要运行并发查询(例如短时间运行的仪表板查询)或顺序 SELECT 或 load (COPY) 查询的系统提出的建议:
有关按工作负载优化系统性能的其他设置,请参阅启用或禁用 defrag。
在 Red Hat 7/8、CentOS 7/8、SUSE 15.1 和 Amazon Linux 2.0 上启用透明大页
确定是否启用了透明大页。为此,请运行以下命令。
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
括号内返回的设置是当前设置。
对于不支持 /etc/rc.local
的系统,请使用在达到目标运行级别后运行的等效启动脚本。例如,SuSE 使用 /etc/init.d/after.local
。
可通过编辑 /etc/rc.local
并添加以下脚本来启用透明大页:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo always > /sys/kernel/mm/transparent_hugepage/enabled
fi
必须重新引导系统以使设置生效,或以 root 用户的身份运行以下 echo 行以继续安装而不重新引导:
# echo always > /sys/kernel/mm/transparent_hugepage/enabled
如果您使用的是 Red Hat 7.0 或 CentOS 7.0 或更高版本,请以 root 或 sudo 身份运行以下命令:
$ chmod +x /etc/rc.d/rc.local
在其他系统上禁用透明大页
注意
SUSE 在最初的 11.0 版本中未提供透明大页支持。但后续的 SUSE 服务包中包含了透明大页支持。为确定是否已启用透明大页,请运行以下命令。
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
括号内返回的设置是当前设置。根据平台操作系统,可能不会显示 madvise
设置。
可采用两种方法之一禁用透明大页:
-
编辑引导装载程序(例如
/etc/grub.conf
)。通常情况下,可以将以下内容添加到内核行的末尾。但在编辑引导装载程序配置之前,请查阅系统文档。transparent_hugepage=never
-
编辑
/etc/rc.local
(在支持 rc.local 的系统上)并添加以下脚本。if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi
对于不支持 /etc/rc.local
的系统,请使用在达到目标运行级别后运行的等效启动脚本。例如,SuSE 使用 /etc/init.d/after.local
。
不论选择哪种方法,都必须重新引导系统以使设置生效,或运行以下两个 echo 行以继续安装而不重新引导:
echo never > /sys/kernel/mm/transparent_hugepage/enabled