7.2.2. ドメインプロセス
Red Hat Enterprise Linux で規定されている通り、 libvirt ではドメインプロセスのメモリーバインディングのポリシー設定に libnuma を使用します。 このポリシーのノードセットは、 static (ドメイン XML に指定) か auto (numad のクエリーで設定) のいずれかに設定することができます。 <numatune> タグ内にこのポリシーを設定する方法を以下の XML 設定例で示します。
<numatune> <memory mode='strict' placement='auto'/> </numatune>
<numatune> <memory mode='strict' nodeset='0,2-3'/> </numatune>
libvirt では、 sched_setaffinity(2) を使ってドメインプロセスの CPU バインディングポリシーを設定します。 cpuset オプションは static (ドメイン XML で指定) か auto (numad のクエリーで設定) にすることができます。 <vcpu> タグ内にこのポリシーを設定する方法を以下の XML 設定例で示します。
<vcpu placement='auto' current='8'>32</vcpu>
<vcpu placement='static' cpuset='0-10,ˆ5'>8</vcpu>
<vcpu> および <numatune> に使用するモードの配置には暗黙的な継承ルールがあります。
- <numatune> の配置モードでは <vcpu> と同じ配置モードにデフォルト設定されます。 または、 <nodeset> を指定した場合は static に設定されます。
- 同様に、 <vcpu> の配置モードでは <numatune> と同じ配置モードにデフォルト設定されます。 または、 <cpuset> を指定した場合は static に設定されます。
つまり、 ドメインプロセスのメモリー調整と CPU 調整は別々に指定、 定義することができますが、 互いの配置モードに依存するよう設定することもできるということです。
注記
vcpu および numatune に関する詳細は、 http://libvirt.org/formatdomain.html#elementsCPUAllocation および http://libvirt.org/formatdomain.html#elementsNUMATuningを参照してください。