暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

各大云平台的vCPU是一个“核心”吗?虚拟化的秘密

原创 mirko 2022-03-05
7286

首先我们来说明几个概念来明确 什么是处理器数?物理核心数?逻辑核心数?

1.物理cpu数(处理器数量,我们常把4个物理处理器的服务器叫做4路服务器):主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id)

2.cpu核数(单路处理器中核心数,比如个人电脑基本都是单路):单块CPU上面能处理数据的芯片组的数量,笔记本如16核、8核等 (cpu cores);服务器一般是16,32,64核心,比如鲲鹏服务器一般是2个920芯片组,也就是2路*64核心。

3.逻辑cpu数(超线程数):简单来说,它可使处理器中的1颗内核,如2颗内核那样在操作系统中发挥作用。

这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻辑cpu=物理CPU个数×每颗核数x2。

所以我们得到公式如下:


总核数 = 物理CPU个数 × 每颗物理CPU的核数。

总逻辑CPU数 = 物理CPU个数 ×每颗物理CPU的核数 × 超线程数。


回到云计算场景中,在公有云环境下,vCPU是虚拟出来的CPU,CPU的虚拟化就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响。

通常1vCPU其实是一个超线程,只是给你一个超线程,2vcpu只是两个超线程,并不是完整的给你一个物理核心。超线程是指把一个物理核心虚拟成两个,这样可以同时处理两个任务,当物理核心负载较低时,超线程可有效加快运行速度。

这个比较好理解,当物理核心只有10%的使用率时,如果没有超线程,那么它同时只能处理一个任务;当有超线程后,剩余的90%的资源就可以处理别的任务了。但是当物理核心本身的负载很高时,超线程就没有多大的提升了。


对于云计算来讲,超线程可以有效的提升物理服务器的资源分配率,最大限度的降低成本。严格意义上属于超售,一般大的云计算厂家对资源的分配有比较严格的控制,不会出现非常严重的超售情况,也不会出现某台1vCPU云服务器性能很强,

某台很弱的情况。在大多数的实例规格族下,可以认为n核的云服务器的CPU性能相当于n台的1vCPU(高主频、裸金属、CPU云服务器除外。)


阿里云和华为云上已经明确标注服务器为vCPU,腾讯云上标注的是核数。企鹅是否是良心卖家不得而知,反正阿里和华为已经全部采用虚拟化技术,打算上云的小伙伴们擦亮眼睛,做好心里预期。

最后修改时间:2022-03-07 11:08:48
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论