Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第7章 NUMA

従来の x86 システムでは、 メモリーはすべて均等に全 CPU からアクセスできるようになっていました。 どの CPU が動作を実行するかに関わらず、 UMA (Uniform Memory Access) と呼ばれるアクセスタイムは同じになります。
最近の x86 プロセッサでは、 この動作が異なってきています。 NUMA (Non-Uniform Memory Access) では、 システムのメモリーが複数のゾーンに区分けされ (ノード と呼ばれる)、 特定の CPU やソケットに割り当てられます。 CPU に対してローカルとなるメモリーへのアクセスが、 そのシステムのリモート CPU に接続しているメモリーに比べて速くなります。

7.1. メモリー割り当てのポリシー

システム内のノードからどのようにメモリーを割り当てるのかは 3 つのポリシーで定義されます。
Strict
目的のノードにメモリーを割り当てられない場合、 他のノードにフォールバックするのが割り当てのデフォルト動作になります。 Strict ポリシーでは、 目的のノードにメモリーを割り当てられない場合は割り当てに失敗することになります。
Interleave
メモリーページはノードマスクで指定された複数のノード全体に割り当てられますが、 割り当てはラウンドロビン方式で行なわれます。
Preferred
単一の優先メモリーノードからのみメモリーの割り当てが行なわれます。 十分なメモリーが使用できない場合には、 他のノードからメモリーを割り当てることができます。
XML 設定で目的のポリシーを有効にします。
<numatune>
	<memory mode='preferred' nodeset='0'>
</numatune>