解决基于kvm的win10虚拟机只识别2个cpu的问题

2023-10-18 10:48:21 浏览数 (2)

在使用kvm qemu创建win10虚拟机的时候,发现尽管我在virt manager里面指定了72个vcpu,但是win10里面只识别2个cpu核心的现象。

如图所示:

虚拟系统管理器里面当时是这样设置的:

这个时候,对应的xml文件内,关于cpu拓扑,有这样一行描述:

代码语言:javascript复制
 <cpu mode="host-passthrough" check="none" migratable="on"/>

初步猜测是因为win10对cpu拓扑结构检测的代码有点问题的原因。因此我们需要手动指定cpu拓扑结构。

解决方案就是把拓扑结构改为这样:

由于我宿主机有2个cpu,每个是18核,每个核心有2个线程。并且我要给虚拟机分配全部cpu,因此我就在拓扑结构里面这样填写了:

如果你的机器是1个cpu的,那么套接字(其实就是插槽)写1,然后核心数就是你要分配给cpu的核心数。

保存之后,看到xml文件里面对cpu拓扑的描述改为了这样:

代码语言:javascript复制
  <cpu mode="host-model" check="partial">
    <topology sockets="2" dies="1" cores="18" threads="2"/>
  </cpu>

接着再启动虚拟机,win10的识别就正常了。

0 人点赞