Hyper-V 處理器效能

虛擬化伺服器可裝載多部彼此隔離但共用基礎硬體資源的虛擬機器 (VM)。 處理器、記憶體和 I/O 裝置都已虛擬化。 當您將多部伺服器合併到單一機器,虛擬化可改善資源使用量與能源效率,並降低伺服器作業與維護成本。 本文可協助您瞭解微調和改善 Hyper-V 效能的處理器效能考量。

虛擬機器整合服務

虛擬機器 (VM) 整合服務包含 Hyper-V 特有 I/O 裝置的覺察型驅動程式,相較於模擬裝置,其可大幅降低 I/O 的 CPU 額外負荷。 在每個支援的 VM 中安裝最新版的 VM 整合服務。 服務會減少客體 (從閒置客體到重度使用客體) 的 CPU 使用量,並改善 I/O 輸送量。 此步驟是在執行 Hyper-V 的伺服器中微調效能的第一個步驟。 如需支援的客體作業系統清單,請參閱 Hyper-V 概觀

虛擬處理器

您應該設定具有非 CPU 密集負載的 VM,以僅使用一個虛擬處理器。 由於有和多個虛擬處理器關聯的額外負載 (例如客體作業系統中的其他同步處理成本),因此需要此設定。 若要深入了解 Hyper-V 中可設定的元件上限,請參閱在 Windows Server 中規劃 Hyper-V 可擴縮性

如果 VM 在尖峰負載下需要多個處理 CPU,請增加虛擬處理器數目。

背景活動

將閒置 VM 中的背景活動降到最低,可釋出其他 VM 所使用的 CPU 週期。 Windows 客體在閒置時通常使用少於百分之一的 CPU。 以下是將 VM 背景 CPU 使用量降到最低的最佳做法:

  • 安裝最新版的 VM 整合服務。

  • 透過 [VM 設定] 對話方塊移除模擬的網路介面卡 (使用 Microsoft Hyper-V 特定介面卡)。

  • 移除未使用的裝置,例如 CD-ROM 和 COM 連接埠,或將其媒體中斷連線。

  • 將未使用的 Windows 客體作業系統保留在登入畫面上。並停用螢幕保護裝置。

  • 檢閱預設啟用的排定工作和服務。

  • 執行 logman.exe query -ets,以檢閱預設開啟的 Windows 事件追蹤 (ETW) 追蹤提供者。

  • 改善伺服器應用程式以減少定期活動 (例如計時器)。

  • 關閉主機和客體作業系統上的伺服器管理員。

  • 請勿讓 Hyper-V 管理員保持執行狀態,因為其會持續重新整理 VM 的縮圖。

以下是在 VM 中設定 Windows 用戶端版本,以減少整體 CPU 使用量的最佳做法:

  • 停用 SuperFetch 和 Windows Search 等背景服務。

  • 停用排定工作,例如排定的重組。

虛擬 NUMA

Windows Server 中的 Hyper-V 擴充了 VM 縮放限制,讓大型擴大工作負載得以虛擬化。 當您建立大型 VM 時,通常會使用來自主機系統上多個 NUMA 節點的記憶體。 在該類型的 VM 組態中,如果您未從相同的 NUMA 節點配置虛擬處理器和記憶體,則工作負載的效能可能不佳。 效能會受到負面影響,因為工作負載無法利用 NUMA 最佳化。 若要深入了解 Hyper-V 中可設定的元件上限,請參閱在 Windows Server 中規劃 Hyper-V 可擴縮性

在 Windows Server 中,Hyper-V 會向 VM 呈現虛擬 NUMA 拓撲。 根據預設,這個虛擬 NUMA 拓撲已最佳化,以符合基礎主機電腦的 NUMA 拓撲。 向 VM 公開虛擬 NUMA 拓撲,可讓客體作業系統以及在其中執行的任何 NUMA 感知應用程式利用 NUMA 效能最佳化,就如同在實體電腦上執行時一樣。

就工作負載的角度而言,虛擬和實體 NUMA 沒有區別。 在 VM 內,當工作負載將本機記憶體配置給資料,並存取相同的 NUMA 節點中該資料時,基礎實體系統上可以快速存取本機記憶體。 由於存取遠端記憶體而犧牲效能的情況可以成功避免。 只有 NUMA 感知應用程式可受惠於 vNUMA。

Microsoft SQL Server 是 NUMA 感知應用程式的範例。 如需詳細資訊,請參閱瞭解非統一記憶體存取

您無法同時使用虛擬 NUMA 和動態記憶體功能。 已啟用動態記憶體的 VM 實際上只有一個虛擬 NUMA 節點。 不論虛擬 NUMA 設定為何,都沒有向 VM 呈現 NUMA 拓撲。

如需虛擬 NUMA 的詳細資訊,請參閱 Hyper-V 虛擬 NUMA 概觀

以下一些文章可協助您深入了解 Hyper-V。