Hyper-V性能監控_CPU

Hyper-V性能監控:html

物理CPU: \Hyper-V Hypervisor Logical Processor(*)\%Total Run Time 服務器

%Total Run Time :處理器處理來賓代碼和虛擬機監控程序代碼所花費時間的百分比網絡

%Total Run Time = %Guest Run Time + %Hypervisor Run Time性能

 

虛擬CPU: \Hyper-V Hypervisor Virtual Processor(*)\%Guest Run Time測試

 

根分區CPU: \Hyper-V Hypervisor Root Virtual Processor(_Total)\%Total Run Time  (注:宿主機自己其實也是一臺虛機,該虛機的配置=宿主機自己配置)spa

 

Hypervisor\Logical Processors:8 宿主機全部CPU核心總數量操作系統

Hypervisor\Virtual Processors:20=4C*3+8 > 8(3臺運行中VM,每一個VM 4vC,宿主8vC)orm

Hypervisor\Partitions :4=3+1 (3運行中VM+1根分區)htm

 

Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time:物理CPU整體使用率,可用
Hyper-V Hypervisor Logical Processor(_Total)\% Guest Run Time
Hyper-V Hypervisor Logical Processor(_Total)\% Hypervisor Run Timeblog

 

單臺VM CPU(每一個核心)利用率:(該值與VM中任務管理器中看到的CPU利用率並非一回事,不能直接使用該值來衡量VM CPU使用率,實際查看仍是使用vM中的任務管理器)
Hyper-V Hypervisor Virtual Processor(2003_1:Hv VP 0)\來賓運行時間百分比
Hyper-V Hypervisor Virtual Processor(2003_1:Hv VP 1)\來賓運行時間百分比
Hyper-V Hypervisor Virtual Processor(2003_1:Hv VP 2)\來賓運行時間百分比
Hyper-V Hypervisor Virtual Processor(2003_1:Hv VP 3)\來賓運行時間百分比

Hyper-V Hypervisor Virtual Processor(_Total)\來賓運行時間百分比 (與vCPU數量有關係,不能直接使用該值來衡量實際VM的CPU利用率)
Hyper-V Hypervisor Virtual Processor(_Total)\虛擬機監控程序運行時間百分比
Hyper-V Hypervisor Virtual Processor(_Total)\總運行時間百分比

 

vCPU/pCPU:
write-host (@(gwmi -ns root\virtualization MSVM_Processor).count / (@(gwmi Win32_Processor) | measure -p NumberOfLogicalProcessors -sum).Sum) "virtual processor(s) per logical processor" -f yellow

 

上圖的最下面黑色區域表明硬件層,包含了硬件信息的描述,中間的Hypervisor層區域,Total表明看到物理CPU的總使用率;Guest表明包括了父分區以及其餘正在運行的VM操做系統的總使用率;HvOh表示Hypervisor Overhead,這裏的HvOh表示Hypervisor層本身的開銷,它的開銷數據表明着父分區和其餘VM的開銷。8Logical CPU,20Virtual CPU(4*3+8)

54%*(4/8)+57%*(4/8)+53%*(4/8)+5%*(8/8)= 87%(全部Guest OS<包括父分區>開銷,,數值時刻處於動態,約等於90%)

56%*12/8  + 5%*(8/8)=89% ,約等於90%

當根分區或者子分區CPU壓力增大時,Logical Processor\% Total Run Time都會增高。

若是vCPU個數(12,不包含根分區)大於LogicalCPU個數(8)時:第一臺VM的CPU利用率達到80%,第二臺VM的CPU利用率達到80%,則當第三臺VM的CPU利用率逐漸增大時,會致使對物理CPU的爭搶,三臺VM的CPU利用率都會下降,最後達到一個均衡,如上圖

 

物理CPU和虛擬CPU不能劃等號,沒有直接關係:

 測試:

宿主8C,VM01:8C,VM02:8C

測試1:

VM01和VM02同時開機,VM01的Cpu利用率達到80%(任務管理器),VM01:Hv VP 0:80%Hyper-V Hypervisor Virtual Processor(_Total)\總運行時間百分比:50%。關閉VM02後,Hyper-V Hypervisor Virtual Processor(_Total)\總運行時間百分比:100%

可得知Hyper-V Hypervisor Virtual Processor(_Total)\總運行時間百分比 與vCPU總數量有關係,vCPU數量越多(只算運行中的VM),該值越低

測試2:

VM01開機,VM02關機,VM01的Cpu利用率達到80%(任務管理器),VM01:Hv VP 0=80%,宿主CPU:80%。

啓動VM02後,VM02的CPU達到80%(任務管理器)的時候,VM01:Hv VP 0=45%,  VM02:Hv VP 0=45%,VM02的CPU達到80%(任務管理器),宿主CPU:99%

總結:vCPU數量越多,宿主CPU利用率越高。當物理CPU利用率已達到100%時,再啓動新的VM,則VM之間會爭奪CPU資源,致使VM性能降低(此時 Hyper-V Hypervisor Virtual Processor(VM01:Hv VP 0)\總運行時間百分比 會降低,最終每臺VM之間比例基本持平)。雖然VM01和VM02分別分配了8vCPU,但實際上只是搶到了4LCPU的資源,至關於4vCPU

測試3:

宿主共計48個logicalCPU,4個NUMA,每一個NUMA 12個logicalCPU
使用計數器 HV VM Vid Partition\perferred NUMA Node Index(VM01)得知VM01位於NUMA節點1(LogicalCPU:12-23,共計12個)
VM2008:
分配給VM2008 4vCPU, CPU達到80%, 使用了NUMA1節點的8 個LogicalCPU
分配給VM2008 8vCPU, CPU達到80%, 使用了NUMA1節點的12 個LogicalCPU
分配給VM2008 12vCPU,CPU達到80%, 使用了NUMA1節點的12 個LogicalCPU
分配給VM2008 16vCPU(此時該VM須要使用兩個NUMA節點LogicalCPU資源),當CPU達到80%, 使用了NUMA1和3節點的24 個LogicalCPU

VM2003:
分配給VM2003 1vCPU,CPU達到80%,使用了當前NUMA節點上的4個LogicalCPU
分配給VM2003 2vCPU,CPU達到80%,使用了當前NUMA節點上的4個LogicalCPU
分配給VM2003 4vCPU,CPU達到80%,使用了當前NUMA節點上的8個LogicalCPU
分配給VM2003 8vCPU,CPU達到80%,使用了當前NUMA節點上的8個LogicalCPU

總結:VM若是隻位於某一個NUMA節點上,則不會使用其餘NUMA節點上的資源,vCPU與logicalCPU並無直接對應關係,4vC就會調用到8logicalCPU的資源

=======================================================

 

The 「Hyper-V Hypervisor Virtual Processor」 and 「Hyper-V Hypervisor Root Virtual Processor」 counter sets have the same counters.  The only difference between the two is the 「「Hyper-V Hypervisor Root Virtual Processor」 contains counters for only the Root Virtual Processors (VP’s) whereas 「Hyper-V Hypervisor Virtual Processor」  has counter for all other partitions.

partition=分區=虛機,一個分區就是一個虛機,根分區就是宿主機

參考:http://blogs.msdn.com/b/tvoellm/archive/2008/05/12/hyper-v-performance-counters-part-four-of-many-hyper-v-hypervisor-virtual-processor-and-hyper-v-hypervisor-root-virtual-processor-counter-set.aspx

 

 

 

與在 Hyper-V 上運行來賓操做系統相關的成本

與全部服務器虛擬化軟件同樣,運行必需的虛擬化代碼以支持在 Hyper-V 上運行的來賓操做系統都會產生必定的開銷。如下各節總結了在 Hyper-V 虛擬機上運行來賓操做系統時所產生的特定資源開銷:

CPU 開銷

在 Hyper-V 虛擬機中運行來賓操做系統時所產生的 CPU 開銷的範圍是 9% 到 12%。例如,在 Hyper-V 虛擬機中運行的來賓操做系統一般有 88–91% 的空閒 CPU 資源可用於在物理硬件上運行的對等操做系統。

內存開銷

在 Hyper-V 虛擬機中運行來賓操做系統時所產生的內存開銷大約爲 300 MB(用於虛擬機監控程序),加上第一次爲每臺虛擬機分配 1 GB RAM 時產生的 32 MB 內存開銷,再加上之後每次爲每臺虛擬機分配 1 GB RAM 時產生的 8 MB 內存開銷。

網絡開銷

與在 Hyper-V 虛擬機中運行來賓操做系統直接相關的網絡延遲大約不到一毫秒 (ms),並且來賓操做系統維護的網絡輸出隊列長度一般不超過 1。

磁盤開銷

在 Hyper-V 中使用直通磁盤功能時,與在 Hyper-V 虛擬機中運行來賓操做系統相關聯的磁盤 I/O 開銷的範圍是 6% 到 8%。例如,在 Hyper-V 上運行的來賓操做系統一般有 92–94% 的空閒磁盤 I/O 可用於在物理硬件上運行的對等操做系統。

 

相關連接:http://www.cnblogs.com/dreamer-fish/p/3794036.html

相關文章
相關標籤/搜索