超執行緒技術允許單一實體處理器核心像兩個邏輯處理器一樣運作。處理器可以同時執行兩個獨立的應用程式。為了避免將邏輯處理器和實體處理器混淆,Intel 將實體處理器稱為通訊端,本章的討論也使用這一詞彙。

Intel Corporation 開發了超執行緒技術來提高 Pentium IV 和 Xeon 處理器系列的效能。超執行緒技術允許單一處理器核心同時執行兩個獨立的執行緒。

雖然超執行緒不會使系統的效能加倍,但是它可以透過更好地利用閒置資源來提高效能,使得某些重要的工作負載類型產生更大的輸送量。如果應用程式在一個核心忙碌的邏輯處理器上執行,則與單獨在非超執行緒處理器上執行取得的輸送量相比,預期取得的輸送量會稍高於一半。超執行緒效能改善與應用程式有很大關係,有些應用程式可能會因為使用超執行緒而出現效能下降的情況,原因是邏輯處理器之間會共用許多處理器資源 (如快取)。

備註: 在具有 Intel 超執行緒技術的處理器上,每個核心可以具有兩個邏輯處理器,這兩個邏輯處理器共用大多數核心資源 (如記憶體快取和功能單元)。此類邏輯處理器通常稱為執行緒。

某些處理器不支援超執行緒,因此每個核心只有一個執行緒。對於此類處理器,核心數還與邏輯處理器的數目相符。

超執行緒和 ESXi 主機

已啟用超執行緒的主機的執行方式與沒有超執行緒的主機類似。但是,如果啟用超執行緒,可能需要考慮某些因素。

ESXi 主機能夠智慧地管理處理器時間,保證負載均勻分佈在系統的多個處理器核心上。相同核心上的邏輯處理器具有連續的 CPU 編號,因此 CPU 0 和 1 一起在第一個核心上,而 CPU 2 和 3 在第二個核心上,依此類推。虛擬機器會優先在兩個不同的核心上排程,而非在同一核心的兩個邏輯處理器上排程。

邏輯處理器如果未工作,會將其置於暫停狀態。這會釋放此處理器的執行資源,同時允許在相同核心的另一個邏輯處理器上執行的虛擬機器使用此核心的全部執行資源。VMware 排程器會合理考慮此暫停時間,因此使用核心的全部資源執行的虛擬機器的效率要高於在半個核心上執行的虛擬機器。這種管理處理器的方式可確保伺服器不會違反任何標準的 ESXi 資源配置規則。

在使用超執行緒的主機上啟用 CPU 相似性之前,請考慮資源管理需求。例如,如果將優先順序較高的虛擬機器繫結到 CPU 0,並將另一個優先順序較高的虛擬機器繫結到 CPU 1,則這兩個虛擬機器必須共用相同的實體核心。在此情況下,可能無法滿足這些虛擬機器的資源需求。請確保所有自訂相似性設定對超執行緒系統都有意義。

啟用超執行緒

若要啟用超執行緒,您必須先在系統的 BIOS 設定中啟用它,然後在vSphere Client中將其開啟。超執行緒預設為啟用。

請參閱系統說明文件,瞭解您的 CPU 是否支援超執行緒。

程序

  1. 確保您的系統支援超執行緒技術。
  2. 在系統 BIOS 中啟用超執行緒。
    有些製造商將該選項標記為 邏輯處理器,有些製造商則稱之為 啟用超執行緒
  3. 請確保已為 ESXi主機啟用超執行緒。
    1. vSphere Client 中,瀏覽到主機。
    2. 按一下設定
    3. 系統下,按一下進階系統設定,然後選取 VMkernel.Boot.hyperthreading
      必須重新啟動主機才能使設定生效。如果值為 true,則啟用超執行緒。
  4. 硬體下,按一下處理器以檢視邏輯處理器的數目。

結果

超執行緒已啟用。