Show Table of Contents
第9章 NUMA
従来の x86 システムでは、メモリーはすべて均等に全 CPU からアクセスできるようになっていました。どの CPU が動作を実行するかに関わらず、UMA (Uniform Memory Access) と呼ばれるアクセスタイムは同じになります。
最新の x86 プロセッサーでは、この動作が異なってきています。NUMA (Non-Uniform Memory Access) では、システムのメモリーが複数の NUMA ノード に区分けされます。これらのノードは、ソケット、またはシステムメモリーのローカルのサブセットに対する同一のアクセス待ち時間を持つ特定セットの CPU に対応しています。
本章では、仮想化環境におけるメモリーの割り当ておよび NUMA チューニング設定について説明します。
9.1. NUMA メモリー割り当てのポリシー
システム内のノードからどのようにメモリーを割り当てるかは、以下のポリシーで定義されます。
Strict- Strict ポリシーでは、目的のノードでメモリーを割り当てられない場合は割り当てに失敗することになります。メモリーモード属性を定義せずに NUMA ノードセットのリストを指定すると、デフォルトで
strictモードが選択されます。 Interleave- メモリーページはノードセットで指定されたノード全体に割り当てられますが、割り当てはラウンドロビン方式で行われます。
Preferred- 単一の優先メモリーノードからのみメモリーの割り当てが行われます。十分なメモリーが使用できない場合には、他のノードからメモリーを割り当てることができます。
目的のポリシーを有効にするには、ドメイン XML ファイルの
<memory mode> 要素の値にそのポリシーを設定します。
<numatune>
<memory mode='preferred' nodeset='0'>
</numatune>重要
strict モードにおいてメモリーがオーバーコミットされ、ゲストに十分な Swap 領域がない場合、カーネルはゲストのプロセスの一部を強制終了して追加のメモリーを取得します。この状況を回避するために、Red Hat では preferred ポリシーによる割り当てを使用し、単一のノードセットを指定する (例: nodeset=「0」) ことを推奨します。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.