如何使Windows 2008 R2 Hyper-V中的Guest OS使用超過4顆vCPU

如何使Windows 2008 R2 Hyper-V中的Guest OS使用超過4顆vCPU

※請注意,在Windows 2008 R2中,微軟所公佈的最大支援為4顆 vCPU,如您要使用於線上環境中,請自行評估,本文章僅供測試使用,不保證不會衍生出其他問題。

1

經過修改後,在Guest OS中,可以看到有16顆CPU的清單,但是不能透過選單去設定超過4顆CPU,此為GUI限制

 

首先,在進行設定之前,需要先將【Hyper-V虛擬機器管理】這個服務先停止,才能進行設定

接著,再到C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines底下,尋找該VM的GUID所相對應的XML檔案

(或者,您可以直接到該VM的存放目錄下,修改XML擋)

3

請按【右鍵】→選擇【編輯】,此時會以Notepad去開啟,而非XML預覽器

4

接著,尋找<Processors>區塊中的<count type=”integer”>【CPU數量】</count>

將中間的數字,修改成你要指派給Guest OS的vCPU數,修改完後,請直接存檔

如果您服務沒有停止,存檔時,會出現檔案正在使用中的訊息,請記得關閉服務再修改。

5

接著啟動【Hyper-V虛擬機器管理】這個服務,再把虛擬機器啟動,登入Guest OS,您就可以發現CPU可以使用到超過4顆了

6

 

本案例所使用的Host Server為Intel E5520兩顆(單顆四核心),有啟動HT技術,所以會有16個執行緒

Host的OS是Windows Server 2008 R2 Datacenter Service Pack 1,並無安裝其他任何的Hotfix

Guest的OS則是安裝Windows Server 2008 R2 Standard,並無安裝其他任何的Hotfix,也沒安裝Service Pack 1

 

以上僅供參考,再次提醒,要使用於線上環境,請三思。