9.3.3. ドメインプロセス
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'>8</vcpu>
<vcpu placement='static' cpuset='0-10,ˆ5'>8</vcpu>
<vcpu> と <numatune> に使用する配置モードには、暗黙的な継承ルールがあります。
<numatune>の配置モードは、デフォルトでは<vcpu>と同じ配置モードに設定され、<nodeset>が指定されている場合は static です。- 同様に、
<vcpu>の配置モードは、デフォルトでは<numatune>と同じ配置モードに設定され、<cpuset>が指定されている場合は static です。
つまり、ドメインプロセスの CPU チューニングとメモリーチューニングは別々に指定および定義できますが、他の配置モードに依存するように設定することもできます。
起動時にすべての vCPU をピニングせずに、選択した数の vCPU を起動するように numad を使用してシステムを設定することもできます。
たとえば、32 個の vCPU を備えたシステムで起動時に 8 個の vCPU のみを有効にするには、次のように XML を設定します。
<vcpu placement='auto' current='8'>32</vcpu>
注記
vcpu と numatune の詳細については、次の URL を参照してください: http://libvirt.org/formatdomain.html#elementsCPUAllocation および http://libvirt.org/formatdomain.html#elementsNUMATuning