9.3.4. ドメイン vCPU スレッド
ドメインプロセスのチューニングに加えて、libvirt は、XML 設定内の各 vcpu スレッドのピニングポリシーの設定も許可します。
<cputune>
タグ内の各 vcpu スレッドのピニングポリシーを設定します。
<cputune> <vcpupin vcpu="0" cpuset="1-4,ˆ2"/> <vcpupin vcpu="1" cpuset="0,1"/> <vcpupin vcpu="2" cpuset="2,3"/> <vcpupin vcpu="3" cpuset="0,4"/> </cputune>
このタグでは、libvirt は cgroup または sched_setaffinity(2) のいずれかを使用して、vcpu スレッドを指定された cpuset にピニングします。
注記
<cputune>
の詳細については、次の URL を参照してください: http://libvirt.org/formatdomain.html#elementsCPUTuning
さらに、単一の NUMA ノードよりも多くの vCPU を使用して仮想マシンをセットアップする必要がある場合は、ゲストがホスト上で NUMA トポロジーを検出するようにホストを設定します。これにより、CPU、メモリー、および NUMA ノードの 1:1 マッピングが可能になります。たとえば、これは 4 つの vCPU と 6 GB のメモリーを備えたゲスト、および次の NUMA 設定を備えたホストに適用できます。
4 available nodes (0-3) Node 0: CPUs 0 4, size 4000 MiB Node 1: CPUs 1 5, size 3999 MiB Node 2: CPUs 2 6, size 4001 MiB Node 3: CPUs 0 4, size 4005 MiB
このシナリオでは、次のドメイン XML 設定を使用します。
<cputune> <vcpupin vcpu="0" cpuset="1"/> <vcpupin vcpu="1" cpuset="5"/> <vcpupin vcpu="2" cpuset="2"/> <vcpupin vcpu="3" cpuset="6"/> </cputune> <numatune> <memory mode="strict" nodeset="1-2"/> </numatune> <cpu> <numa> <cell id="0" cpus="0-1" memory="3" unit="GiB"/> <cell id="1" cpus="2-3" memory="3" unit="GiB"/> </numa> </cpu>