As configurações de topologia são totalmente suportadas no virt-manager desde o Ubuntu 15.04.
Do virt-manager > CPUs > Topologia:
- Verificar: Definir manualmente a topologia da CPU
- Soquetes: 2
- Cores: 2
- Tópicos: 2
O seguinte é criado a partir das configurações acima no virt-manager. Você não precisa entrar com a edição do virsh.
<vcpu placement='static'>8</vcpu>
<cpu mode='host-model'>
<model fallback='allow'/>
<topology sockets='2' cores='2' threads='2'/>
</cpu>
A topologia parou de ser reconhecida pelo Windows após uma atualização e novamente limita a CPU virtual para 2 soquetes.
Para corrigir isso, use 'virsh edit' para ocultar o recurso kvm e adicionar recursos de hyperv. Após um desligamento completo e reinicialização, a VM do Windows reconhecerá novamente várias CPUs.
Por que meu VM do Windows 7 em execução no Linux 'KVM não usa todos os processadores virtuais?
<features>
<acpi/>
<apic/>
<hyperv>
<relaxed state='on'/>
<vapic state='on'/>
<spinlocks state='on' retries='8191'/>
</hyperv>
<kvm>
<hidden state='on'/>
</kvm>
</features>