CPU超分比是什么,vCPU并不是 1 核 CPU

3年前 (2022-08-01)网络技术

阿里的超分比为1:2,比如

      准备采购13台64物理核心512G内存的服务器,计算过程如下:


单机物理CPU逻辑核数=物理核数*[2]=128核

按照CPU倍超分比为[2]

单台物理机可用vCPU数量=可用于共享ECS实例的vCPU数=[128]核*2倍超分-系统损耗[20]=236

总的vcpu= 单机可用CPU核数[236] * 服务器数量[13] = 3068核

单台服务器可用内存=单台物理服务器的内存512G-系统损耗48G=464G

总的内存= 单机可用内存[464G] * 服务器数量[13] = 6032G

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

香港云服务器的“核”,指的是虚拟的 CPU 核心数。1 vCPU并不是 1 核 CPU,一个 1 核 CPU 可以虚拟出多个 vCPU。1 vCPU 只是给你一个超线程,2 vCPU 只是两个超线程,并不是完整的给你一个物理核心。1vCPU 只是在物理 CPU 上虚拟出来的 1 个超线程。超线程是指把一个物理核心虚拟成多个,这样可以同时处理多个任务,当物理核心负载较低时,超线程可有效加快运行速度。例如,当物理核心只有 10% 的使用率时,如果没有超线程,那么它只能处理一个任务;当有超线程后,剩余的 90% 的资源就可以并行处理别的任务。但是当物理核心本身的负载很高时,超线程无法提供较大的提升。


因此,vCPU 是虚拟出来的 CPU,CPU 的虚拟化是用单个物理 CPU 模拟多个虚拟 CPU 并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响。例如,云服务器供应商采用 Xeon E5 2650v3 CPU,10 核 20 线程,他们会将其分配给超过 20 台云服务器同时使用。1 核的香港云服务器,即保证您的 CPU 性能为总的处理器性能的 1/20。

对于云服务器供应商来讲,超线程可以有效的提升物理服务器的资源分配率,最大限度的降低成本。通常,正规的云服务器供应商会对资源的分配具有严格的控制,不会出现非常严重的超售情况,也不会出现某台1vCPU 云服务器性能很强,某台很弱的情况。


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

“超分”是公有云(阿里云、华为云等)应用虚拟化技术时的一个必然现象,即:当设备满载或接近满载时,一台物理机被VMVare、ESXi等虚拟化系统平台自动划分成多个虚拟机,以求最大限度利用资源。

 

“超分”是虚拟化平台的优势,能够将可分配给客户机器的内存总合大于实际可用的物理内存总数。因为物理机中的客户机不可能都处于高负荷的状态,所以适当的超分有助于资源的充分利用。

 

但渲染不是大数据存储,她对CPU的算力有着苛刻的要求。所以对于有渲染需求的客户来说,超分未必是好事。如果CPU过载使用,一个或多个客户机的VCPU总数超过了host物理CPU总数,就会出现有客户机因为内存不足而被关闭的情况。所以一般平台虽然会默认开放超分和CPU过载使用,但是实际生产环境中(特别是负载较重的环境)一定要谨慎。

 

当一台物理机被分割为N虚拟机时,每台虚拟机的计算性能缩减到了1/N的性能,这就产生了不少用户:测试时很快,实际渲染时却很慢,而且费用也很高,甚至不同机器费用高低不一”的现象;带来的后果是用户测试时感觉费用很低或速度很快,实际渲染却发现速度慢,实际支付的渲染费用高。但这不是欺诈行为,而是VMVare等虚拟化平台默认开启的功能。

 

适当超分会有助于资源的充分利用,但当平台用户量过多时, CPU超分率数值过大可能会严重影响物理机性能,导致业务性能卡顿,影响用户渲染、服务体验。