ESXi 透過新增額外層級的位址轉譯來虛擬化客體實體記憶體。

  • 每個虛擬機器的 VMM 用於維持從客體作業系統的實體記憶體分頁到基礎電腦上實體記憶體分頁的對應。(VMware 將基礎主機實體分頁稱為「電腦」分頁,將客體作業系統的實體分頁稱為「實體」分頁。)

    每個虛擬機器均有連續的、從零開始的可定址實體記憶體空間。每台虛擬機器使用的伺服器上的基礎機器記憶體不一定是連續的。

  • VMM 攔截操縱客體作業系統記憶體管理結構的虛擬機器指示,以便虛擬機器不會直接更新處理器上的實際記憶體管理單元 (MMU)。

  • ESXi 主機在一個陰影分頁表中維護虛擬-電腦分頁對應,該表與 VMM 所維護的實體-電腦對應保持同步。

  • 陰影分頁表由處理器的分頁硬體直接使用。

此位址轉譯方法允許在設定陰影分頁表之後虛擬機器中執行一般記憶體存取,而不會新增位址轉譯額外負荷。因為處理器上的轉譯對應緩衝區 (TLB) 快取從陰影分頁表中讀取的直接虛擬-電腦對應,所以 VMM 存取記憶體時不會增加額外負荷。

效能考量事項

使用雙分頁表具有以下效能影響。

  • 對於一般客體記憶體存取,不會產生額外負荷。

  • 在虛擬機器中對應記憶體需要額外時間,這可能表示:

    • 虛擬機器作業系統正在設定或更新虛擬位址到實體位址的對應。

    • 虛擬機器作業系統從一個位址空間切換到另一個位址空間 (內容切換)。

  • 與 CPU 虛擬化類似,記憶體虛擬化額外負荷取決於工作負載。