轉自:https://blog.csdn.net/budonglaoshi123/article/details/84325720
1.物理cpu數:主板上實際插入的cpu數量,可以數不重復的 physical id 有幾個(physical id)
2.cpu核數:單塊CPU上面能處理數據的芯片組的數量,如雙核、四核等 (cpu cores 核心)
3.邏輯cpu數:簡單來說,它可使處理器中的1顆內核,如2顆內核那樣在操作系統中發揮作用。
這樣一來,操作系統可使用的執行資源擴大了一倍,大幅提高了系統的整體性能,此時邏輯cpu=物理CPU個數×每顆核數x2。
總核數 = 物理CPU個數 × 每顆物理CPU的核數。總邏輯CPU數 = 物理CPU個數 ×每顆物理CPU的核數 × 超線程數。
vCPU,顧名思義,是虛擬CPU。 創建虛擬機時,需要配置vCPU資源。 因此vCPU是虛擬機的部件。 因此脫離VM,談論vCPU是沒有意義的。
虛擬化管理系統如何調度vCPU,取決於系統內的虛擬機數目以及虛擬機配置的vCPU的情況。
大致的情況如下:
1、當系統內VM所需的vCPU總數少於物理CPU的核數(包括超線程Core)時,虛擬化管理系統為vCPU分配的資源不超過一個物理CPU核。 vCPU與物理核的分配關系可以是綁定的,也可能是動態的。
比如服務器有20個核心,你創建了2個VM,每個VM 4個vCPU,那么這兩個VM最多能夠使用服務器的8個核心。
2、當系統內的VM所需要的vCPU核大於物理CPU核數時,虛擬化管理系統首先按照時間片輪流調度一遍,然后如果還有剩余的CPU資源,則給所需要的vCPU。 比如系統配置了40個vCPU,只有20個物理核。那么平均每個vCPU獲取一個核心50%的資源。由於一些VM忙,一些VM空閑,虛擬化系統會在一個調度周期內,划分出若干時間片,輪流給每個vCPU使用。忙的vCPU可以使用完整個時間片,而閑的vCPU用不完整個時間片,會提前釋放資源。這樣在一個調度周期內,對每個vCPU都調度一遍后還有空閑的時間,調度器會把用這剩余的資源去調度忙的vCPU。 這樣兼顧公平和效率。 這中調度算法具體下來,大致是如下效果:系統有1個CPU 2.0 Ghz,兩個VM,分配1個vCPU。 如果VM1 和 VM2都忙,那么各自相當於擁有一個1.0 Ghz的CPU。 如果VM1很忙,VM1只需要 500Mhz的處理能力,那么在VM1看來,相當於暫時獲得了 1.5Ghz的處理器。
3、通過對Xen的測試,系統所有虛擬機的vCPU的總數目小於和等於CPU核數時,VM的性能是比較穩定的。 VM的vCPU基本上綁定到了一個CPU核。 當vCPU數目大於物理核數時,VM的性能穩定性變差。
————————————————
版權聲明:本文為CSDN博主「budonglaoshi123」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/budonglaoshi123/article/details/84325720