
我的處理器有 4 個實體核心。每個核心最多 8 個虛擬核心。以下是否適用:
如果啟用超線程,則需要 4x 2 = 8 個邏輯核心。這意味著 8 x 8 = 64 個最大虛擬核心
如果未啟用超線程,則最大虛擬核心數為 4 x 8 = 32。 或總是 4x8=32 個虛擬核心?
答案1
您好,有一些基礎知識可以幫助您理解:
1. 擁有的實體核心越多,效能就越好
2. 單一實體處理器中的邏輯核心有助於處理器執行多任務,但並不比擁有專用物理核心更好處理器
3. 超執行緒是在單一實體核心中實現多核心效能的過程
4. 超執行緒不會增加邏輯核心,其實作已由製造商固定
5. 超執行緒允許 CPU 負載在內核中分配,如果需要更多的分佈,然後使用不同的技術(如時間切片、循環等)來劃分物理核心內的負載
因此,如果您的 CPU 有 4 個實體核心,每個核心最多有 8 個邏輯/虛擬核心,那麼它將始終是 4x8 = 32 個核心
希望這對您有所幫助。 :-)
答案2
不。如果啟用超線程,則每個物理核心有兩個邏輯處理器。因此,您總共有八個邏輯處理器,或八個虛擬核心,無論您想使用哪個術語。
如果沒有超線程,每個物理核心只有一個 LP。
答案3
在 VM/虛擬機器管理程式的上下文中(考慮 Azure VM):
虛擬機器管理程式是負責向虛擬機器分配計算的軟體。假設我們有兩種類型的主機處理器:
- 計算 A:具有 4 個實體核心的超執行緒處理器
- 計算 B:沒有具有 4 個實體核心的超執行緒處理器
假設我們建立 2 個虛擬機,其中 1 個需要較少的運算能力 (VM X),1 個需要更多的運算能力 (VM Y)。
計算A:
- Hypervisor 將 1 個實體核心分配給 VM X 為 1 個虛擬核心
- 然後,VM X 獲得 2 個邏輯核心,即 2 個 vCPU
- 因此,VM X 涉及 2 個 vCPU、2 個邏輯核心、1 個虛擬核心、1 個實體核心
- Hypervisor將2個實體核心分配給VM Y作為2個虛擬核心
- 然後,VM Y 獲得 4 個邏輯核心,即 4 個 vCPU
- 因此,VM Y 涉及 4 個 vCPU、4 個邏輯核心、2 個虛擬核心、2 個實體核心
計算B:
- Hypervisor 將 1 個實體核心分配給 VM X 為 1 個虛擬核心
- 然後,VM X 獲得 1 個邏輯核心,即 1 個 vCPU
- 因此,VM X 涉及 1 個 vCPU、1 個邏輯核心、1 個虛擬核心、1 個實體核心
- Hypervisor將2個實體核心分配給VM Y作為2個虛擬核心
- 然後,VM Y 獲得 2 個邏輯核心,即 2 個 vCPU
- 因此,VM Y 涉及 2 個 vCPU、2 個邏輯核心、2 個虛擬核心、2 個實體核心
對於虛擬機器來說,沒有實體核心之類的東西,而是虛擬核心(虛擬核心看起來像實體核心,就像虛擬機器本身看起來像實體機器一樣)。請注意,這裡我們假設 1 個實體核心作為 VM 的 1 個虛擬核心呈現。然而,虛擬機器管理程式可能會決定組合 2 個實體核心,並且抽象的它們作為 VM 的 1 個虛擬核心(或通常可以將 M 個實體核心抽象化為 N 個虛擬核心)。然後邏輯核心將根據超線程因素進行調整。
vCPU 的數量與虛擬核心支援的邏輯核心數量(因此是底層實體核心數量)相同。 [來源:蔚藍艾倫,虛擬機器軟體]
來源文字(以防來源超連結中斷):