linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

问题

在Linux下使用kvm,利用libvirt + qemu + virt-manager 安装windows虚拟机,我自己的笔记本CPU是i7-4712MQ,有4核8线程,所以就有8个CPU线程就可以使用。

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

选择分配4个CPU线程给windows虚拟机,但是windows死活就只能识别2个CPU线程。

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

选择调整CPU拓扑:

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

结果呢?如下图:(还是一样)

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

是不是windows支持的问题呢?

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

原因

查下资料,找到下面的原因:

1、Windows最多只支持两个CPU socket,每个socket内可以有多个core。

2、kvm缺省每个CPU模拟一个socket,必须修改虚拟机CPU的topology,才能使用超过一个CPU。

解决

virt-manager可以再详情界面进行修改CPU拓扑就可以了,如图:

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

如果没有使用virt-manager怎么办?那就直接修改配置的xml文件就可以了,配置文件默认在/etc/libvirt/qemu目录下,对应虚拟机的xml文件进行修改就可以了,添加下面的内容:

<cpu mode='host-model' check='partial'>

<model fallback='allow'/>

<topology sockets='1' cores='2' threads='2'/>

</cpu>

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

linux-kvm安装windows虚拟机,为什么只能用到两个CPU?

相关推荐