web-dev-qa-db-ja.com

Intel CPUセキュリティホールパッチにより失われたパフォーマンスを回復するためにページテーブル分離を無効にする方法

現在のIntel CPUセキュリティホールの問題のため、システムパフォーマンスを低下させるパッチが予想されます。

Ubuntuシステムにこのパッチがインストールされないようにするにはどうすればよいですか?

42
mahrens61

パッチ(「ページテーブル分離」とも呼ばれます)は、通常のカーネルアップデート(システムのアップデート時に取得されます)の一部になります。ただし、カーネルを他の多くのセキュリティ修正も受けるため、カーネルを最新の状態に保つことを強くお勧めします。だから私はnot修正せずに古いカーネルを使用することをお勧めします。

ただし、pti=offkernel patch with this option、with more info )to your kernel command line( howto )。これを行うと、システムの安全性が低下することに注意してください。

PostgreSQLメーリングリスト でPTIを有効または無効にした詳細情報とパフォーマンステストがあります-TLDRは、10〜30%のパフォーマンスへの影響があることです(ProstgreSQLの場合-他のこと games のような影響はおそらく少ないでしょう)。

AMD は明らかに影響を受けないreddit )ので、これはIntelプロセッサにのみ影響することに注意してください。したがって、AMDではデフォルトで無効になります。

54
JonasCz

更新:この問題には次のモニカが与えられました: Meltdown and Spectre 。新しい情報で回答を更新しました。

最初はカーネルパッチになります。上位バージョンとして表示されます。 linux-image-genericがインストールされているため、インストールされます。それがそのパッケージの目的です。したがって、linux-image-genericを削除できます。それは恐ろしい、悲惨なアイデアであり、それはあなたを あらゆる種類の厄介者 にさらすでしょうが、あなたできましたそこにmayがあり、CPU内の修正のためにlinux-firmwareに続くCPUマイクロコードもあります。それは本当にIntelにあります。

これを修正するために従う方法は関係ありません。バグの本当の影響も、修正のパフォーマンスコスト。

  • バグは厄介です。報告されたCVEは、プロセスにまたがるメモリ読み取りです。他のプロセスのメモリを読み取ることができるプロセス。入力、パスワード、全体。これはおそらくサンドボックスにも影響を与えます。非常に早い時期であり、インパクトとアクセスの両方で、人々がこれをさらに推し進めることを期待しています。

  • パフォーマンスのヒットは、おそらくあなたが心配しているほど大きくはありません。人々が放り投げている数字は、理論的なサブシステムのパフォーマンス、または最悪の場合に焦点を当てています。キャッシュが不十分なデータベースは、最も大きな打撃を受けます。ゲーム、および日常的なものは、おそらくそれほど変化しません。

今でも実際のバグが何であるかを見ることができますが、影響が何であるかを言うのは早すぎます。 RAMへの無料の読み取りアクセスは悪いですが、もっと悪いことがあります。また、修正が実際にあなたに与える影響を確認するためにテストします(あなたが行うことで)。

GRUB構成のフラグを事前にロードしたり、カーネルメタパッケージを削除したりしないでください。

35
Oli

これはお勧めしませんが、PTIを無効にすることは可能です

noptiカーネルコマンドラインパラメーター

Phoronix に従って。

これを行うには、GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grubで始まる行の隣の文字列にnoptiを追加してから実行します

Sudo update-grub

その後、再起動します。

パフォーマンス関連のセキュリティ機能を無効にするカーネルブートパラメータの詳細については、以下を参照してください。 buntu WikiのSpectre&Meltdown MitigationControls

13
nixpower

Grubのカーネル引数の最後に次を追加します。

spectre_v2 = off nopti pti = off

カーネルパラメーターについては、以下で説明されています。 https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown/MitigationControls

5
cnd

最も簡単な方法:カーネル構成のチェックを外します

->セキュリティオプション

[]ユーザーモードでカーネルマッピングを削除します

その後、新しいカーネルをコンパイルします

3
Krzysztof S-k