在使用kvm+qemu创建win10虚拟机的时候,发现尽管我在virt manager里面指定了72个vcpu,但是win10里面只识别2个cpu核心的现象。
如图所示:
虚拟系统管理器里面当时是这样设置的:
这个时候,对应的xml文件内,关于cpu拓扑,有这样一行描述:
<cpu mode="host-passthrough" check="none" migratable="on"/>
初步猜测是因为win10对cpu拓扑结构检测的代码有点问题的原因。因此我们需要手动指定cpu拓扑结构。
解决方案就是把拓扑结构改为这样:
由于我宿主机有2个cpu,每个是18核,每个核心有2个线程。并且我要给虚拟机分配全部cpu,因此我就在拓扑结构里面这样填写了:
如果你的机器是1个cpu的,那么套接字(其实就是插槽)写1,然后核心数就是你要分配给cpu的核心数。
保存之后,看到xml文件里面对cpu拓扑的描述改为了这样:
<cpu mode="host-model" check="partial">
<topology sockets="2" dies="1" cores="18" threads="2"/>
</cpu>
接着再启动虚拟机,win10的识别就正常了。
转载请注明来源:解决基于kvm的win10虚拟机只识别2个cpu的问题 – 龙进的博客https://longjin666.cn/?p=1743
欢迎关注我的公众号“灯珑”,让我们一起了解更多的事物~