kvm創建win7虛擬機默認只識別2個cpu解決方法


現在人在部署OpenStack之后會發現按照配額運行Linux的虛擬機沒有問題,但是運行windows的虛擬機會發現如果配置2個以上的核則無法識別,windows server也最多支持到4個核。無法滿足很多業務的需求,但到底是什么原因造成了這樣的現象呢?本文將解釋這種現象,並且說明解決的辦法。

socket,core和thread的概念

在理解這個概念之前,我們需要首先了解下CPU架構的概念。以物理服務器為例,現在的服務器都成為多路服務器,一般可以有多個CPU插槽,而每個CPU又有多個核,每個核可以超線程運行。所以socket即代表服務器的插槽數,core代表每個CPU的核數,thread代表每個核的線程數。

Windows對於socket的支持

Windows系統對於socket的支持各不相同。一般,桌面版的如win7這些最大支持兩路CPU,也就是socket為2。而服務器最大支持四路CPU,即socket為4。

libvirt,KVM對於CPU架構的定義

所以對於Windows桌面版,對於一個8核的配置,在libvirt的XML配置文件中,可以在CPU中加入下面的配置,就可以使用。其他的以此類推。

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

  參考:https://www.cnblogs.com/billowsand/p/4523130.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM