如何禁用页表隔离以恢复因英特尔 CPU 安全漏洞补丁而损失的性能?

如何禁用页表隔离以恢复因英特尔 CPU 安全漏洞补丁而损失的性能?

由于当前英特尔 CPU 存在安全漏洞问题,预计将会有一个补丁,但这会降低系统性能。

我如何确保该补丁不会安装在我的 Ubuntu 系统上?

答案1

该补丁(又名“页表隔离”)将成为常规内核更新的一部分(更新系统时会获得)。但是,强烈建议保持内核更新,因为它还包含许多其他安全修复程序。因此,我会不是建议只使用不带修复的过时内核。

但是,您可以通过添加pti=off(来有效地禁用该补丁内核补丁添加了此选项,并提供更多信息)到内核命令行(如何)。请注意,这样做会导致系统安全性降低。

有更多信息和启用和禁用 PTI 的性能测试PostgreSQL 邮件列表- TLDR 是它对性能有 10% 到 30% 的影响(对于 ProstgreSQL,也就是说 - 其他事情比如游戏可能会影响较小)。

请注意,这只会影响英特尔处理器,因为 AMD显然不受影响Reddit),因此可以预见的是,AMD 将默认禁用此功能。

答案2

更新:这个问题有两个绰号:Meltdown 和 Spectre。我已用新信息更新了答案。

它最初是一个内核补丁。它会显示为更高版本。它会被安装,因为你已经linux-image-generic安装了。这就是那个包的用途。所以你可以删除linux-image-generic。这太可怕了,惨重这个想法会让你接触到各种肮脏的东西但是你可以做吧。可能也可能是 CPU 微代码,用于linux-firmware在 CPU 内进行修复。这实际上是在 Intel 上。

您采用的解决此问题的方法并不重要。您要求绕过某些操作,但您既不知道该错误的真实影响,也不知道修复该错误的性能成本。

  • 这个漏洞很严重。报告的 CVE 是跨进程内存读取。任何进程都能够读取任何其他进程的内存。输入、密码,所有一切。这可能也会对沙箱产生影响。现在还为时过早,我希望人们能进一步推动这一进程,无论是在影响还是访问方面。

  • 性能影响可能没有您担心的那么大。人们给出的数字主要关注理论子系统性能或最坏情况。缓存不佳的数据库将受到最严重的影响。游戏和日常事务可能不会发生明显变化。

即使现在我们可以看到实际的错误是什么,现在说影响还为时过早。虽然对 RAM 的自由读取访问很糟糕,但还有更糟糕的事情。我还会测试一下修复对你的影响有多大(对你做的事情)。

不要开始使用标志预加载您的 GRUB 配置,或者删除内核元包。

答案3

虽然我不推荐这样做,但可以禁用 PTI

诺普蒂内核命令行参数

根据福罗尼克斯

为此,请将innopti开头的行旁边的字符串附加到该行,然后运行GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub

sudo update-grub

然后重新启动。

有关内核启动参数禁用与性能相关的安全功能的更多信息,请参阅:Ubuntu Wiki 中的 Spectre&Meltdown 缓解控制

答案4

最简单的方法:取消选中内核配置

->安全选项

[ ] 删除用户态的内核映射

然后编译新内核

相关内容