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

数字で見る
- 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を受け付けるかを確認してください。
出典
- Dynamic PAMT Merged For Linux 7.4 To Help Intel Servers Save Precious RAM - Phoronix
- [PATCH v11 00/11] Dynamic PAMT - Linux kernel mailing list
- Intel's Dynamic PAMT Appears Ready For Linux 7.4 To Help With TDX Memory Overhead - Phoronix
関連記事

Linux 7.4、強制的なドライバーバインドを示すTAINT_FORCED_BINDを追加
Linux 7.4では、ドライバーのbind/unbind用sysfsファイルが使われるたびに、カーネルにフラグYのtaint(テイント)が付くようになります。syzbotによるファジングが、無意味なバグ報告を大量に生んだためです。

Infinity Core、エクスプロイトが公開されたLinuxカーネルの脆弱性6件
CVE-2026-98260を含む、Infinity Coreと呼ばれるLinuxカーネル(kernel)の脆弱性6件には、公開されたエクスプロイトがあります。うち5件では、一般ユーザーがrootシェルを得られます。

NixとLix、ローカルでroot権限を得られるデーモンの脆弱性を修正
NixとLixは10月13日、デーモン(daemon)の脆弱性を公開しました。組み合わせると、root権限への権限昇格が可能です。修正は、Nix 2.35.3とLix 2.95.4のほか、複数のパッチリリースに含まれています。