VMware Workstation是一款優秀的虛擬化軟體,我用它管理多個作業系統,方便測試和開發任務。
虛擬機的系統卡死
買新電腦後,為了給軟體建立測試環境,我使用VMware創建了一台虛擬機,運行Win11。
安裝系統的過程很順利,但是使用階段遇到了問題。啟動客體機進入桌面後,就出現滑鼠指針卡頓、回應遲滯的情況,然後沒多久,客體機系統就徹底失去回應了。此時客體機無法正常關閉,只能從VMware的介面下達關機指令,相當於給客體機拔電源。再次啟動,還是一樣的狀況,這樣的虛擬機根本無法使用。
運行環境
主機的配置:
- 處理器: i7-12700K
- 記憶體: 16 GB
- 硬碟: NVMe SSD
- 作業系統: Windows 11 Pro, 64-bit
- VMware版本: Workstation 17 Pro (17.5.2)
客體機的配置:
- 處理器核心數: 4
- 記憶體: 4 GB
- 硬碟: 64 GB
- 作業系統: Windows 11 Pro, 64-bit
客體機的虛擬硬體資源符合了Windows 11的最低要求。推測問題可能來自某種軟體設定不當。
一番觀察之後,有了解決方法——
解決辦法
方法很簡單,讓VMware以管理員身分運作。
原因分析
問題出在Win11系統對CPU核心的調度。
英特爾自第12代(Alder Lake)酷睿處理器起採用效能混合架構,體現為效能核心(Performance Core)與效率核心(Efficiency core)。在這種架構中,P-Core(即所謂的大核心)透過高頻率與超執行緒承擔重負載任務;E-Core(即所謂的小核心)主要負責輕負載任務,以及多執行緒效能與協同能力。這樣設計可以平衡處理器的效能和功耗。
而當虛擬機當機的時候,在主機的工作管理員裡可以觀察到,分配給虛擬機的4個核心全部都是小核,而且都處於高負載狀態。如此不合理的核心分配,導致虛擬機運行出現問題。
以管理員身分運作時,VMware就可以執行合理的CPU核心調度策略。
緩解卡頓的其他辦法
如果主機使用第12代以後的Intel處理器,那麼提升權限運行VMware應該可以解決問題。要是還沒解決,可以看看如下辦法。
關閉Hyper-V
Hyper-V是微軟的硬體虛擬化技術。許多第三方虛擬化軟體(如VMware)無法與Hyper-V協同工作。VMware Workstation的安裝程式也會提醒使用者關閉Hyper-V功能。這裡可以查看微軟的詳細說明。
以管理員身分啟動終端機命令列,執行對應的命令,可以關閉或開啟Hyper-V功能。
- 關閉Hyper-V
bcdedit /set hypervisorlaunchtype off
- 開啟Hyper-V
bcdedit /set hypervisorlaunchtype auto
調整虛擬機設置
嘗試給虛擬機分配更多的CPU核心數或記憶體。
在虛擬機設定裡,選擇適當的處理器設定,例如啟用或停用虛擬化引擎
中的某些選項。
重新安裝VMware Tools
VMware Tools是VMware虛擬機的實用工具。如果客體機是複製或移動而來,那麼VMware Tools可能沒有正確安裝或版本不合適。可嘗試重新安裝VMware Tools以解決問題。
禁用側信道緩解
一般情況,在虛擬化環境中,為了防止側信道攻擊(如Meltdown和Spectre漏洞),VMware需要啟用某些安全措施,例如:
- 額外的上下文切換會增加CPU的開銷,進而影響虛擬機的效能。
- 限制某些指令的使用可能影響應用程式的執行效率。
- 實施快取隔離以保護虛擬機之間的數據,這會影響記憶體存取速度。
這些措施能保護系統安全,但也可能降低效能。使用者可根據具體情況在安全和效能之間權衡。
進入虛擬機設定
,在選項
頁面的進階
條目裡,可以啟用或關閉側信道緩解。
禁用CPU的效率核心
在BIOS中可以停用CPU的效率核心,僅使用效能核心。這樣便不會再有大小核的調度問題。
希望以上資訊能夠幫助到使用VMware的你。