如何禁用页表隔离以恢复因英特尔CPU安全漏洞补丁而导致的性能损失?
由于当前的英特尔CPU安全漏洞问题,预计会有一个补丁降低系统性能。
如何确保我的Ubuntu系统上不会安装此补丁?
补丁(又名“页表隔离”)将成为正常内核更新的一部分。 但是,强烈建议保持内核最新,因为它还可以获得许多其他安全修复程序。 所以我不建议在没有修复的情况下使用过时的内核。
但是,您可以通过添加pti=off
( 内核补丁添加此选项,更多信息 )到内核命令行( howto )来有效地禁用补丁。 请注意,这样做会导致系统安全性降低。
在PostgreSQL邮件列表中启用和禁用PTI的更多信息和性能测试 – TLDR的性能影响在10%到30%之间(对于ProstgreSQL,即游戏等其他东西可能会看到更少的影响) 。
请注意,这只会影响英特尔处理器,因为AMD 显然不会受到影响 ( reddit ),因此默认情况下AMD可能会禁用此function。
更新:问题已经给了一对绰号: Meltdown和Spectre 。 我用新信息更新了答案。
它最初将是一个内核补丁。 它会显示为更高版本。 它将被安装,因为你已经安装了linux-image-generic
。 这就是那个包的用途。 所以你可以删除linux-image-generic
。 这是一个可怕的, 灾难性的想法,会让你暴露在各种各样的恶作剧中,但你可以做到。 在linux-firmware
可能还有CPU微码,用于CPU内修复。 这真的是在英特尔。
您解决此问题的方法无关紧要。 你要求绕过一些既不知道bug的真正影响,又不知道修复它的性能成本的东西。
-
这个bug很讨厌。 报告的CVE是跨进程内存读取。 任何进程都能够读取任何其他进程的内存。 输入,密码,整个。 这也可能对沙箱产生影响。 这是非常早的时期,我希望人们在影响和访问方面进一步推动这一进程。
-
表现可能并不像你担心的那么大。 人们关注的数字集中在理论子系统性能或最坏情况。 缓存不佳的数据库会受到最严重的打击。 游戏和日常用品可能不会发生明显的变化。
即使是现在我们也可以看到实际的错误,现在说出影响是为时尚早。 虽然对RAM的免费读取访问很糟糕,但还有更糟糕的事情。 我还要测试一下修复程序对你的影响程度(用你做的事情)。
不要开始使用标志预加载GRUB配置,或者暂时删除内核元包。
虽然我不建议这样做,但可以禁用PTI
使用nopti内核命令行参数
据Phoronix说 。
为此,将nopti
附加到/etc/default/grub
以GRUB_CMDLINE_LINUX_DEFAULT
开头的行旁边的字符串,然后运行
sudo update-grub
然后重新启动。
要了解有关内核引导参数的更多信息,请查看Ubuntu Wiki 。
最简单的方法:取消选中内核配置
– >安全选项
[]在用户模式下删除内核映射
然后编译新内核
将以下内容添加到grub中的内核参数末尾: –
spectre_v2 = off nopti pti = off