Hyper-V性能监控_CPU
Hyper-V性能监控:
物理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 (注:宿主机本身其实也是一台虚机,该虚机的配置=宿主机本身配置)
Hypervisor\Logical Processors:8 宿主机所有CPU核心总数量
Hypervisor\Virtual Processors:20=4C*3+8 > 8(3台运行中VM,每个VM 4vC,宿主8vC)
Hypervisor\Partitions :4=3+1 (3运行中VM+1根分区)
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 Time
单台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
Hyper-V性能监控_CPU的更多相关文章
- cpu和memory性能监控
cpu性能监控 #!/bin/bash column_count= i= m= is_want= str_msg=""; file_name=./test/`date +%Y-%m ...
- 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具
上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...
- Apache服务器性能监控
Apache服务器性能监控 1.使用自带mod_status模块监控 1)加载mod_status.so 模块 在httpd.conf中打开LoadModule status_module modul ...
- jvm性能监控与故障处理工具
jdk为我们提供了一系列的jvm性能监控和故障处理工具,在这里根据学习进度进行整理记录.便于之后查阅 1.jps 虚拟机进程工具 类似于Linux系统中的ps命令,用于查看虚拟机进程,常用的有以下功 ...
- 【转载】Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Sysstat性能监控工具包中20个实用命令
Sysstat性能监控工具包中20个实用命令 学习mpstat, pidstat, iostat和sar等工具,这些工具可以帮组我们找出系统中的问题.这些工具都包含了不同的选项,这意味着你可以根据不同 ...
- Linux运维不可不知的性能监控和调试工具
Linux运维不可不知的性能监控和调试工具 1 nagios Nagios是一个开源监控解决方案,我觉得他可以监控一切 ,可以看一下我以前的文章:NAGIOS 2 ps #用来查看程序的运行情况 ps ...
- 前端性能监控系统ShowSlow
作者:zhanhailiang 日期:2014-11-14 1. 简单介绍 ShowSlow是开源的前端性能监控系统,提供了下面功能: 前端性能指标数据收集功能:ShowSlow原生提供了数据收集工具 ...
随机推荐
- asp.net 框架初接触
1. 在web层的Default.aspx里只有最基本的UI代码 2. 在web层的Default.aspx.cs里第一行创建一个用户业务对象UserBO (注意添加引用,下同) protected ...
- Android 使用MediaStore.Images和 Cursor查询本地图片和图片缩略图
先看一个实例: String[] projection = { MediaStore.Images.Thumbnails._ID ,MediaStore.Images.Thumbnails.DATA} ...
- 【HDOJ】1241 Oil Deposits
经典的BFS. #include <stdio.h> #include <string.h> #define MAXNUM 105 #define MAXROW 105 #de ...
- bzoj1443
首先要思考的问题肯定是,什么点可以是ans, 不难想到对图黑白染色,假如一个棋子不管怎么走,都只能走到和它同色的点上时,这就是一个ans 再考虑,每次棋子的移动都是黑白相间的 再考虑,黑白染色是可以构 ...
- ☀【动画】过渡 transition
CSS3 动画系列3-transition(过渡) √http://www.css88.com/archives/5403 如果丘处机没有路过牛家村,中国将是最发达国家 <!DOCTYPE ht ...
- GitHub常用 库
来自: http://www.jianshu.com/p/6475c90e8b4d 网络请求库 https://github.com/AFNetworking/AFNetworking https:/ ...
- android Service Activity三种交互方式(付源码)
android SDK提供了Service,用于类似Linix守护进程或者windows的服务. Service有两种类型: 本地服务(Local Service):用于应用程序内部 远程服务(Rem ...
- hadoop学习笔记——基础知识及安装
1.核心 HDFS 分布式文件系统 主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操 ...
- HDU 1518
思路:从第一个数开始搜索,将其和与边长比对,相等则计数+1,计数达到3的时候说明可以组成,因为剩下那条必与边长相等,搜索过程注意剪枝,若某个数已被加入边长则不能重复计算,应将其标记,另外应在每一层递归 ...
- Java&MySQL Type Mapping
MySQL Type Name Return value of GetColumnClassName Returned as Java Class BIT(1) (new in MySQL-5.0) ...