物理CPU与VCPU的关系梳理总结

AI摘要

本文通过实验探讨了FusionCompute环境下物理CPU与vCPU的对应关系、vCPU资源的计算公式及其分配调度机制。重点介绍了如何通过CPUQoS策略有效管理vCPU资源。

http://support.huawei.com/ecommunity/bbs/10258020.html

 

背景说明:
在项目和培训中多次被问题FusionSphere物理CPU和vCPU的对应或分配关系,一个物理CPU能虚拟出多少个vCPU,一个vCPU的主频是多少等问题。设置了CPU预留、份额与限制之后又是什么情况。
看过之前的一些讨论,也没有定论,本着实践是检验整理的唯一标准,本文通过实验,并对照相关文档来梳理这些问题,希望能让大家有更清楚的理解。

1. 系统可用的VCPU总数计算

服务器CPU信息:
1台R2288H V3,2个CPU, 10 核,超线程为2。总共2x10x2= 40个thread,每个Thread 2.3GHz。
Haswell EP CPU 02311CDJ BC1M12CPU X86 series,2300**z,1.8V,64bit,105000mW,Haswell EP Xeon E5-2650 v3,10Core,with heatsink 2 2
服务器BMC管理界面上查看 CPU信息 

Intel官网看到E5-2650的信息


http://ark.intel.com/products/81705/Intel-Xeon-Processor-E5-2650-v3-25M-Cache-2_30-GHz
在主机上部署FusionCompute R5C00, 登录CNA主机运行xentop命令查看CPU信息
CPUs:40 @ 2294 **z,主频总容量为40 x 2.294 GHz = 91.76 GHz。
Domain 0默认配置2个VCPU,占用2 x 2.294 = 4.588 GHz
用户可用的主频总容量 = 91.76 - 4.588 = 87.172 GHz

FC portal上查看CPU信息,总容量87.17GHz正好等于系统总容量减去Domain 0占用的容量。


结论1: 系统可用的vCPU总数(逻辑处理器) = Socket数(CPU个数)x Core数(内核)x Thread数(超线程)
1个VCPU = 1个超线程Thread。如下图:



CPU QoS
如图所示,CPU预留容量为4.59GHz,可用容量为82.58GHz,说明除了VRM01的2个VCPU预留容量4588**z之外的VCPU主频均 是可用的,尽管该环境已创建了7台4 VCPU的VM,还可以创建更多VM,这些VM的VCPU总数可以远远超过当前系统显示可用的38个VCPU。

在不对VRM01的VCPU进行限制的情况下,将VCPU份额自定义为128000,显示可使用的CPU数为38,说明如果需要的话VRM01可以占用该主机上的除了Domain 0之外的所有VCPU(Domain 0占用了2个VCPU)。





2. 虚拟机VCPU的分配与调度
对虚拟机来说,不直接感知物理CPU,虚拟机的计算单元通过vCPU对象来 呈现。虚拟机只看到VMM呈现给它的vCPU。在VMM中,每个vCPU对应一个VMCS(Virtual-Machine Control Structure)结构,当VCPU被从物理CPU上切换下来的时候,其运行上下文会被保存在其对应的VMCS结构中;当VCPU被切换到PCPU上运 行时,其运行上下文会从对应的VMCS结构中导入到物理CPU上。通过这种方式,实现各vCPU之间的独立运行。
从虚拟机系统的结构与功能划分可以看出,客户操作系统与虚拟机监视器共同构成了虚拟机系统的两级调度框架,如图所示是一 个多核环境下虚拟机系统的两级调度框架。客户操作系统负责第2 级调度,即线程或进程在vCPU 上的调度(将核心线程映射到相应的VCPU上)。虚拟机监视器负责第1 级调度, 即vCPU在物理处理单元上的调度。两级调度的调度策略和机制不存在依赖关系。vCPU调度器负责物理处理器资源在各个虚拟机之间的分配与调度,本质上即 把各个虚拟机中的vCPU按照一定的策略和机制调度在物理处理单元上可以采用任意的策略来分配物理资源, 满足虚拟机的不同需求。vCPU可以调度在一个或多个物理处理单元执行(分时复用或空间复用物理处理单元), 也可以与物理处理单元建立一对一固定的映射关系(限制访问指定的物理处理单元)。



3. CPU QoS说明
Hypervisor 层根据分时复用的原理实现对VCPU的调度,CPU QoS的原理是定期给各VCPU分配运行时间片,并对各VCPU运行的时间进行记账,对于消耗完时间片的虚拟CPU将被限制运行,直到获得时间片。以此控 制虚拟机获得物理计算资源的比例。以上分配时间片和记账的时间周期很短,对虚拟机用户来说会感觉一直在运行。
CPU预留定义了分配给该VM的最少CPU资源。
CPU限制定义了分配虚拟机占用CPU资源的上限。
CPU份额定义多个虚拟机在竞争CPU资源的时候按比例分配。
CPU份额只在各虚拟机竞争计算资源时发挥作用,如果没有竞争,有需求的虚拟机可以独占主机的物理CPU资源。
如果虚拟机根据份额值计算出来的计算能力小于虚拟机预留值,调度算法会优先按照虚拟机预留值分配给虚拟机,对于预留值超出按份额分配的计算资源的部分,调度算法会从主机上其他虚拟机的CPU上按各自的份额比例扣除。
如果虚拟机根据份额值计算出来的计算能力大于虚拟机预留值,那么虚拟机的计算能力会以份额值计算为准。
以一台主频为2800**z的单核物理机为例,如果满负载运行3台单VCPU的虚拟机A、B、C,分配情况如下。


结论2:由于采用分时复用的方式,在不做VCPU预留的条件下,系统可分配 给VM的VCPU总数远远大于实际可提供的VCPU数目(具体能创建多少额外的VCPU依赖于物理CPU的性能和VCPU的使用情率),在出现资源争用的 时根据CPU QoS中的预留和份额来分配资源。

 

---------------------------------------------

 

云计算vCPU资源计算公式(**z)

http://support.huawei.com/ecommunity/bbs/10254390.html

 

vCPU 资源 = 物理CPU个数 * 物理CPU核数 * 单核线程数 * CPU频率

举例:1个CPU,双核,每核2个线程,3.0GHz,那么vCPU资源 = 1 * 2 * 2 * 3.0GHz = 12GHz = 12000**z。

FusionCompute发放虚拟机流程中可对CPU资源进行限制,有2个重要参数:
份额预留:分配的vCPU资源最小值
份额限制:分配的vCPU资源最大值

份额预留<=份额限制

只有将份额预留选最大值时,vCPU独占1个物理CPU线程

举例:创建1台2U2G的虚拟机,份额预留最大值为 2 * 3000**z = 6000**z。

虚拟化场景,重载,许多情况下1台虚拟机每vCPU独占1个物理CPU线程。因此,为了云计算工程师快速方便估算物理服务器可承载的虚拟机数量,可认为1个物理CPU线程 = 1个vCPU。

举例1:虚拟化场景,10台服务器,每台服务器2路8核2.8GHz的CPU,提供的vCPU个数 = 10 * 2 * 8 * 2 = 320个vCPU,可承载2U2G的虚拟机160个。

举例2:虚拟化场景,10台服务器,每台服务器2路8核2.8GHz的CPU,提供的vCPU资源 = 10 * 2 * 8 * 2 * 2.8GHz = 896GHz,可承载2个vCPU 2.8GHz的虚拟机160个。

桌面云场景,重载,许多情况下每个物理CPU核可承载5台虚拟机,因此,为了云计算工程师快速方便估算物理服务器的虚拟机密度,可认为 1个物理核 = 5个虚拟机。

举例:桌面云场景,10台服务器,每台服务器2路8核2.8GHz的CPU,虚拟机密度 = 10 * 2 * 8 * 5 = 800 个虚拟机。


总结:
虚拟化场景:1个物理CPU线程 = 1个vCPU
桌面云场景:1个物理核 = 5个虚拟机


说明:上述场景的计算方法仅供快速估算,准确vCPU个数、虚拟机密度与CPU型号、频率、domain0规格、虚拟机规格强相关,需要进行详细分析和计算。

 

 

云服务器vCPU与物理CPU关系 虚拟化场景,10台服务器,每台服务器2路8核2.8GHz的CPU,提供的vCPU资源 = 10 * 2 * 8 * 2 * 2.8GHz = 896GHz,可承载2个vCPU 2.8GHz的虚拟机160个。vCPU:vCPU是在虚拟化的时候提出来的概念,因此vCPU的讨论都是在虚拟化,划分cpu才会讨论的问题。举例1:虚拟化场景,10台服务器,每台服务器2路8核2.8GHz的CPU,提供的vCPU个数 = 10 * 2 * 8 * 2 = 320个vCPU,可承载2U2G的虚拟机160个。 阅读详情

相关推荐

云计算、虚拟化基础知识

CPU 个数为 3,CPU 核数为 2,CPU 的线程数为 4(支持超线程技术),vCPU 的个数是多少? 答案: vCPU 个数 = 物理 CPU 个数* 物理 CPU 核数* 单核线程数 =3* 2 *4 =24

Shallow的博客 2477

华为FusionCloud云计算vCPU资源计算公式(MHz)

vCPU 资源 = 物理CPU个数 * 物理CPU核数 * 单核线程数 * CPU频率 举例:1个CPU,双核,每核2个线程,3.0GHz,那么vCPU资源 = 1 * 2 * 2 * 3.0GHz = 12GHz = 12000MHz。 FusionCompute发放虚拟机流程中可对CPU资源进行限制,有2个重要参数: 份额预留:分配的vCPU资源最小值 份额限制:分配的vCPU资源最大值 份额...

Pipcie的博客 9194

CPU核心数量全解读:物理核、逻辑核与性能排查方法

CPU核心数量是评估处理器性能的核心指标之一,但同一数字在不同场景下含义可能完全不同。物理核心、逻辑核心与可用核心,分别代表芯片执行单元、超线程后的逻辑处理器和当前实际可调度的处理单元,三者差异常被忽略。理解这些概念,是定位CPU占用率高、核心停车、虚拟机提示CPU被禁用等问题的前提。在Windows、Linux和WSL环境中,分别可以通过任务管理器、lscpu和配置文件查看核心状态;而CPU锁频0.78GHz、电源管理缺失等异常,则往往与功耗策略或驱动有关。本文围绕核心数量的概念区分、查询方法和常见故障排

weixin_34203832的博客 376

计算虚拟化1——CPU虚拟化

CPU虚拟化:多个虚拟机共享CPU资源,对虚拟机中的敏感指令进行截获并模拟执行内存虚拟化:多个虚拟机共享同一物理内存,需要相互隔离I/O设备虚拟化:多个虚拟机共享一个物理设备。

m0_49864110的博客 5215

KVM虚拟机超分监控与性能瓶颈排查实战:CPU/内存超分如何定位卡顿根因

虚拟化环境的资源超分是提升硬件利用率的关键技术,但超分比例不当会引发性能雪崩。KVM通过CPU超分将vCPU映射为宿主机线程,内存超分则依赖惰性分配、balloon与KSM机制。当内存超分触发swap换页或CPU调度争抢加剧时,guest内部会出现高steal time和延迟飙升。本文从宿主机与虚拟机双层监控视角,梳理CPU/内存超分的核心原理,结合典型故障案例,给出可用内存、Committed_AS、si/so、%st等关键指标的阈值参考,以及CPU pinning、NUMA绑定、巡检脚本等实操建议,帮助

weixin_29284201的博客 254

虚拟机性能优化15招:从CPU、内存到磁盘IO的实战指南

虚拟化技术提高了资源利用率,但虚拟机运行卡顿常源于配置与负载不匹配。CPU调度、内存预留、磁盘IO路径和半虚拟化驱动等因素共同决定性能表现。理解负载类型与性能基线,是优化起点;合理分配vCPU、预留内存、使用固定大小虚拟磁盘并放置于SSD,可显著降低延迟;virtio与vmxnet3等半虚拟化设备能减少模拟开销。针对数据库、编译开发、桌面应用等典型场景,结合快照清理与VMware Tools维护,能系统性提升虚拟机流畅度。本文梳理15条可复制的调优经验,帮助你在Hyper-V、KVM、VMware等平台上获

weixin_42523693的博客 331

FusionSphere 物理CPU与VCPU的关系梳理总结

背景说明: 在项目和培训中多次被问题FusionSphere物理CPU和vCPU的对应或分配关系,一个物理CPU能虚拟出多少个vCPU,一个vCPU的主频是多少等问题。设置了CPU预留、份额与限制之后又是什么情况。 看过之前的一些讨论,也没有定论,本着实践是检验整理的唯一标准,本文通过实验,并对照相关文档来梳理这些问题,希望能让大家有更清楚的理解。 1. 系统可用的VCPU总数计算 服务器CPU...

Pipcie的博客 1665

VMware vcpu-1访问违规0xc0000005根因解析

ACCESS_VIOLATION(访问违规)是Windows内存保护机制触发的典型异常,本质源于进程试图访问未授权内存地址。其底层原理涉及CPU页表映射、MMU缺页异常处理及内核SEH异常分发机制。该错误在虚拟化场景中具有特殊技术价值:它暴露了宿主机安全策略(如HVCI、VBS)与用户态虚拟化引擎(如VMware)之间对内存执行权限的冲突。常见于启用Hyper-V或Windows 11内存分区等现代安全特性后,尤其在vCPU线程执行JIT代码或MMIO模拟时。本文聚焦vcpu-1异常0xc0000005这一

weixin_34301132的博客 311

ESXi 8.0 升级 U3 后 CPU Ready 持续偏高:电源策略与 vCPU 数量的双路径排查

而这往往会让情况更糟。这篇讲清楚一件事:CPU Ready 高,绝大多数情况。

专注分享优质干货资源与零基础实用教程 107

VMware报错“客户机操作系统已禁用CPU”:从原理到排查修复全指南

虚拟化技术中,vCPU是虚拟机运行的核心资源,而VMware作为虚拟化平台,会密切监控vCPU的执行状态。当虚拟机内部发生内核崩溃、资源耗尽或磁盘空间不足时,VMware可能触发自我保护机制,暂停vCPU运行并提示“客户机操作系统已禁用CPU”。这类故障在开发测试和运维场景中并不罕见,常因日志膨胀、内存分配不当或快照异常引发。理解vCPU的调度机制和异常检测原理,有助于快速定位问题根源。本文结合工程实践,系统梳理从宿主机BIOS虚拟化开关、虚拟机资源配置、vmware.log日志分析到磁盘健康检查的排查路径

weixin_33462927的博客 314

FusionSphere虚拟化白皮书解读:从物理服务器到资源池的部署避坑指南

服务器虚拟化通过将物理资源抽象为资源池,实现计算、存储与网络的按需分配。其核心原理基于KVM等Hypervisor层,对CPU、内存进行调度与隔离,技术价值在于提升资源利用率与业务高可用性。在私有云、数据中心等场景中,虚拟化平台部署常面临硬件兼容性、网络规划与性能调优等挑战。华为FusionSphere作为企业级虚拟化套件,其白皮书涵盖从底层映射到集群HA的完整链路。本文结合工程实践,梳理部署过程中的高频报错与排查方法,助力高效构建稳定资源池。

weixin_29913663的博客 345

虚拟网络回环ping时延高?排查宿主机CPU C-state节能与调度

网络延迟是衡量虚拟化平台性能健康度的关键指标之一,而回环ping(ping 127.0.0.1)则是一种不依赖物理网卡、直接反映协议栈与CPU调度效率的基础探测手段。在虚拟化环境中,CPU的节能状态(如C-state深度睡眠)、vCPU线程的调度争抢以及时钟源精度,都可能导致原本应在1ms以内的回环时延飙升至10ms以上。这类问题根因往往不在网络链路,而在于宿主机底层的资源管理策略。通过检查CPU调频策略、限制最大C-state、调整vCPU绑核及中断分布,可以有效恢复低时延状态。本文从回环时延异常的现场出

weixin_31648507的博客 267

VMware Workstation虚拟机性能优化:vCPU、磁盘IO与快照治理

虚拟化性能优化是本地开发与测试中的高频搜索问题,核心不在盲目加核加内存,而在资源调度与I/O路径。虚拟机卡顿往往由宿主机CPU虚拟化未开启、内存频率未生效、磁盘IO抢占和vCPU超配等因素叠加导致。理解这些基础原理,可显著提升编译、数据库导入、容器镜像构建等场景的响应与吞吐。在VMware Workstation中运行Ubuntu 24.04或Windows 10时,应从宿主机前置条件、虚拟机硬件规格、.vmx参数、VMware Tools与快照治理逐步排查,并用可复现基准验证优化效果,让虚拟化环境更接近物

weixin_29973493的博客 152

从零开始搭建云服务器:CPU与内存配比详解及实战配置(含2023价格对比)

本文详细解析了云服务器CPU与内存的核心角色与配比方案,帮助用户根据应用场景选择计算型、通用型或内存型实例。通过实战配置流程与2023年主流厂商价格对比,为个人开发者及初创团队提供从需求分析到成本控制的完整搭建指南,实现资源与预算的最优匹配。

ujm5678901的博客 597

告别环境配置焦虑:在Win10的Ubuntu子系统里搞定CSAPP实验环境(附32/64位库编译指南)

本文详细介绍了如何在Win10的Ubuntu子系统中搭建CSAPP实验环境,包括WSL 2的安装与配置、32/64位库的编译指南以及高效开发工具链的设置。通过优化WSL性能和使用实用技巧,开发者可以轻松应对CSAPP实验中的环境配置问题,提升学习效率。

weixin_30443813的博客 296

Windows系统的Mamba环境配置详细教程(状态空间模型)

causal_conv1d也是安装mamba的依赖必须库。安装完成后,通过pip list可以查看到安装的库。Triton是安装mamba的依赖,需要先安装。上述工作准备好后,按下面步骤安装。直接根据离线文件安装即可。是自己的虚拟环境名字。

2301_77831163的博客 3676

VMware虚拟机卡顿诊断全流程:从CPU争用到内存气球,97%慢速问题3步根治

快速定位并解决VMware虚拟机运行缓慢优化难题,覆盖CPU争用、内存气球机制与磁盘I/O瓶颈三大主因。适用于vSphere/Workstation环境,提供实时监控、配置调优与资源预留三步法,97%慢速问题可根治。值得收藏。

CodeVibe的博客 193

RaiDrive+AList保姆级教程:5分钟搞定OneDrive/百度网盘挂载到本地(附WebDAV配置)

本文提供RaiDrive+AList的保姆级教程,5分钟内实现将OneDrive/百度网盘挂载到本地的详细步骤,包括WebDAV配置。通过AList统一转换云存储协议,RaiDrive虚拟磁盘挂载,显著提升多网盘管理效率,适合需要跨平台操作文件的用户。

weixin_28331555的博客 456
上一篇: K8S hello world
下一篇: 2016 寄语
a8366
博客等级 码龄19年 10粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值