ESXi 使用精密的 NUMA 排程器來動態平衡處理器負載與記憶體位置或處理器負載平衡。
- 由 NUMA 排程器管理的每個虛擬機器均指派有主節點。主節點是系統的其中一個 NUMA 節點,其中包含處理器和本機記憶體,如系統資源配置表 (SRAT) 所示。
- 將記憶體配置給虛擬機器時,ESXi 主機會優先從主節點配置該記憶體。虛擬機器的虛擬 CPU 限制在主節點上執行,從而能夠最大限度地提高記憶體位置。
- NUMA 排程器可以動態變更虛擬機器的主節點以回應系統負載的變更。該排程器可能會將虛擬機器移轉到新的主節點,從而減少處理器負載不平衡。因為這可能會導致更多記憶體成為遠端記憶體,所以排程器可能會將虛擬機器的記憶體動態移轉到新的主節點,以改善記憶體位置。在改善總體記憶體位置的同時,NUMA 排程器還可能在節點之間交換虛擬機器。
部分虛擬機器不由 ESXi NUMA 排程器管理。例如,如果您為虛擬機器手動設定了處理器或記憶體相似性,則 NUMA 排程器可能無法管理該虛擬機器。未由 NUMA 排程器管理的虛擬機器仍然可以正確執行。但是,這些虛擬機器不會受益於 ESXi 的 NUMA 最佳化。
ESXi 中的 NUMA 排程和記憶體放置原則可以透明地管理所有虛擬機器,因此管理員不需要明確處理在節點之間平衡虛擬機器的複雜性。
無論客體作業系統的類型為何,最佳化措施都可以順暢地運作。ESXi 甚至為不支援 NUMA 硬體的虛擬機器 (例如 Windows NT 4.0) 提供了 NUMA 支援。因此,即使使用舊版作業系統,也可以利用新的硬體。
如果虛擬機器上的虛擬處理器數超過單一硬體節點上可用的實體處理器核心數,則可以自動管理該虛擬機器。NUMA 排程器可透過使其跨越各 NUMA 節點,來容納此類虛擬機器。即,虛擬機器分為多個 NUMA 用戶端,每個用戶端都指派到一個節點,然後由排程器將其做為普通的、非跨越用戶端進行管理。這樣可提高某些具有較高位置且佔用大量記憶體之工作負載的效能。如需設定此功能之行為的相關資訊,請參閱進階虛擬機器屬性。
ESXi 支援向客體作業系統公開虛擬 NUMA 拓撲。如需有關虛擬 NUMA 控制的詳細資訊,請參閱使用虛擬 NUMA。