本文へスキップ

Linux 7.4がIntel TDXのDynamic PAMTをマージ、サーバーのRAMを節約

Linux 7.4に、Intel TDX向けのDynamic PAMT(ダイナミックPAMT)がマージされました。ホストは機密VM(機密仮想マシン)のためにRAMの約0.4%を前もって確保する必要がなくなり、節約効果は最大100倍になる可能性があります。

著者 Tech AI Wire Team

3 分で読めます

Intel Trust Domain Extensions(Intel TDX)を紹介するIntelの開発者向けページ。クラウドの横に並ぶサーバーのイラストと、共有メモリーとプライベートメモリーの図が載っています。

数字で見る

of system RAM reserved up front for TDX metadata today
~0.4%
possible savings, per the patch author
100x
of host memory covered per dynamic allocation
2 MB
added to the kernel when TDX is built in
2 KB

Phoronixは2026年10月20日、Linux 7.4にDynamic PAMTがマージされたと報じました。このIntelの機能により、機密仮想マシンを動かすサーバーは、起動時にメモリーの一定量を確保しておく必要がなくなります。現在、その量はシステムRAMの約0.4%です。このコストは、保護されたVMを1つ動かしていても、1つも動かしていなくても発生します。メモリー価格が高騰しているなか、そのRAMを通常の処理に戻せることは、大規模なIntelサーバーを運用するすべての人にとって重要です。

TDXとPAMTとは

TDXはTrust Domain Extensionsの略で、Intelが提供する機密仮想マシンの実行方式です。機密VMは自身のメモリーを暗号化し、それを実行するホストシステムからも見えないようにします。その狙いは、ハードウェアを運用する側に対しても、顧客のデータを秘密に保つことです。

この約束を守るため、TDXモジュールはマシン上のメモリーのすべてのページを追跡します。ページとは、システムがメモリーを管理する単位となる小さなブロックで、通常は4KBです。この追跡データは、Physical Address Metadata Table(PAMT)に格納されます。

これまでLinuxは、TDXの起動時にPAMT全体を割り当てていました。Rick Edgecombe氏はパッチシリーズのカバーレターで、「これらの静的な割り当ては、システムメモリーの約0.4%を占める」と書いています。Dave Hansen氏は、Phoronixが引用したプルリクエストで、さらに率直に「これは全か無かだ。0.4%を払うか、TDXを使えないかのどちらかだ」と述べています。

Dynamic PAMTで何が変わるか

Dynamic PAMTは、テーブルの中で最も細かい部分を、必要になったときにだけ割り当てます。PAMTには3つのレベルがあり、それぞれ1GB、2MB、4KBのメモリーブロックに対応しています。1GBと2MBのレベルは、これまでどおり起動時に用意されます。パッチの説明によると、最も小さいページを追跡する4KBのレベルは、実行時に埋められるようになりました。

項目Linux 7.4より前Dynamic PAMTの場合
4KBレベルのテーブルを割り当てるタイミングTDXの起動時に一括で必要に応じて、ホストメモリー2MBずつ
確保されるメモリー常にRAMの約0.4%実際のTDXの使用量に応じて増える
デフォルト該当なしTDXモジュールがサポートを報告すれば常に有効
カーネルサイズのコストなしTDXを組み込んだ場合に2KB

節約効果が最も大きくなるのは、動いている機密VMが少ないときです。Edgecombe氏は「節約の度合いはシステムとTDXの使い方によって変わるが、最大で100倍になる可能性がある」と書いています。

ただし、一部のマシンには落とし穴があります。Dynamic PAMTには参照カウントが必要です。参照カウントとは、各領域がどれだけ使われているかを追跡する小さなカウンターです。そのコストはアドレス空間1TBあたり2MBで、52ビットのアドレス空間を持つシステムでは最悪の場合8GBになります。パッチの説明は、メモリーが少ない疎な(sparse)プラットフォームでは、このオーバーヘッドが節約分を上回ることさえあると警告しています。

カーネルに取り込まれるまで

このシリーズは11のバージョンを重ねました。2026年9月4日に投稿されたバージョン11では、主にカーネルパラメーターが1つ削除されました。Kiryl Shutsemau氏は、このバージョンのパッチのうち2本を共同で執筆しています。Phoronixが当時報じたところでは、9月7日までにこの作業はtipツリーのx86/tdxブランチにキューイングされていました。tipツリーは、x86の変更を取り込む前に集めておく場所です。

この機能を有効にするコミットは、デフォルトにした理由をはっきり説明しています。「DPAMTによるメモリーの節約は十分に大きく、優れたデフォルト構成になる」。

同じTDXのプルリクエストは、もう1つの制限も解消します。Quote(クォート)は、機密VMが何を実行しているかを証明するために使う署名付きのレポートです。このQuoteは、これまで128KBのバッファーに収める必要がありました。Hansen氏は「これらの128kのバッファーは、Quoteが大幅に大きくなる耐量子暗号には、あまりにも小さすぎる」と書いています。TDXモジュールは必要なバッファーサイズを報告できるようになり、Linux 7.4はそれに対応しています。

Linux 7.4には、この開発サイクルでほかの変更も集まっています。その1つが、強制的なドライバーバインドを示す新しいTAINT_FORCED_BINDフラグです。

開発者にとっての意味

これらの変更のほとんどは何もしなくても反映されますが、TDXホストの運用者は準備しておくべきです。

  • アップグレード後にホストのメモリーを測り直す。 利用の少ないTDXホストでは、Linux 7.4によって、これまで確保されていたメモリーが解放されるはずです。監視ツールが報告する値を確認してから、VMの集約度を上げるかどうかを判断してください。
  • TDXモジュールのバージョンを確認する。 Dynamic PAMTが有効になるのは、IntelのファームウェアコンポーネントであるTDXモジュールが、その機能のサポートを報告した場合だけです。古いモジュールでは、0.4%の静的なコストが残ります。
  • 小規模なマシンや疎なマシンでテストする。 パッチの説明によると、そうしたマシンでは参照カウントのオーバーヘッドが節約分を上回る可能性があります。そのハードウェアで、更新前と更新後のメモリー使用量を比較してください。
  • 耐量子のアテステーションに注目する。 Quoteのバッファーが大きくなったことで、TDXは耐量子署名に備えられるようになります。アテステーションレポートを検証するチームは、自分たちのツールがより大きなQuoteを受け付けるかを確認してください。

出典

  1. Dynamic PAMT Merged For Linux 7.4 To Help Intel Servers Save Precious RAM - Phoronix
  2. [PATCH v11 00/11] Dynamic PAMT - Linux kernel mailing list
  3. Intel's Dynamic PAMT Appears Ready For Linux 7.4 To Help With TDX Memory Overhead - Phoronix
linuxsecurityintelconfidential-computing

関連記事