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 매핑할 수 있습니다. 예를 들어 이 작업은 vCPU 4개 및 6GB 메모리가 있는 게스트 및 다음 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>