Windows-7

為什麼我在 Linux 的 KVM 下執行的 Windows 7 VM 沒有使用所有的虛擬處理器?

  • January 27, 2017

全部

自從我將我的一個 VM 從 Windows 2008 Server 遷移到 Windows 7(最終)後,我的伺服器出現了問題:雖然我已經為 VM 分配了四個核心,它甚至似乎看到了它們,但它似乎認為它有兩個核心!

它辨識我的處理器但不使用它們!

誰能告訴我這裡發生了什麼?我認為這可能是 KVM 和 Windows 7 之間的一些不兼容,但由於它看到了虛擬處理器,我開始不認為……任何線索?

這是程序管理器的螢幕截圖,在同一個盒子上只顯示了兩個核心:

任務管理器

我懷疑這些處理器在單獨的插槽中被呈現為單核處理器。Windows 7 Ultimate 最多支持 2 個插槽系統,因此它將使用 2 個處理器。

我不知道您是否可以將 KVM 配置為將處理器呈現為單個四核 CPU 或 2 個雙核 CPU,這應該可以解決問題。

在 libvirt 0.8.3 上,如果您鍵入:

virsh capabilities | grep topology

它將列出主機的拓撲:

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

這些數字指的是插槽數、每個插槽的核心數和每個核心的執行緒數。將此行添加到 xml 文件中的 cpu 條目以允許 windows 使用所有 4 個核心,例如:

<vcpu>4</vcpu>
<cpu>
    <topology sockets='1' cores='4' threads='1'/>
</cpu>

引用自:https://serverfault.com/questions/101434