作者:admin,发布日期:2018-05-11
阅读:5347;评论:0

写在开头

为了解决近期爆出的MeltDown漏洞带来的安全风险,新版本内核默认开启了KPTI(内核页表隔离),以修复该漏洞。

然而,根据测试,开启KPTI可能对虚机性能产生5%-30%的影响。计算类业务影响较小,IO/内存类业务则影响较大。 

您可以根据实际情况判断是否关闭KPTI,以在承担安全风险的前提下,恢复性能。

关闭方法

Centos6.X

1) 关闭KPTI

vim /boot/grub/grub.conf

在 kernel 行追加

nopti

重启服务器生效

2) 验证是否已关闭

输入命令:

dmesg | grep isolation

若展示以下信息,则表明KPTI仍是开启的。

x86/pti: Kernel page table isolation enabled

如果关闭成功 上面的这一行信息则不会展示。

Centos7.X

1) 关闭KPTI

输入命令:

vim /etc/default/grub

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

在quiet后面增加

nopti

修改好之后的参数应该类似于这样

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet nopti"

接着重新生成grub配置

grub2-mkconfig -o /boot/grub2/grub.cfg

重启服务器生效

2) 验证是否已关闭

输入命令:

dmesg | grep isolation

若展示以下信息,则表明KPTI仍是开启的。

x86/pti: Unmapping kernel while in userspace

如果关闭成功 上面的这一行信息则不会展示。