比如一个物理机有 32 个物理核, 64 个逻辑核 那么分配虚机的时候,如果按照 32 核心分配,就浪费了超线程 按照 64 核分配,每个核心就不能跑满 现在市面上也没见着具有超线程核心的云计算产品。
|  |      1Laynooor      2016-08-01 13:15:40 +08:00 via Android 同问,像阿里云这些,是按物理核分配的么? | 
|      2xmoiduts      2016-08-01 13:20:40 +08:00 via Android 腾讯云:一核等于一个超线程。(官网介绍) | 
|  |      3fcicq      2016-08-01 13:22:39 +08:00 AWS 也是每个超线程核心是一个 vCPU. 都是巨坑. | 
|  |      4zsj950618      2016-08-01 14:23:09 +08:00 什么叫“按照 64 核分配,每个核心就不能跑满”。。。。。。 | 
|  |      6zsj950618      2016-08-01 14:36:55 +08:00 @just4test 看不懂你说的话, 我举个例子吧,比如你有 32 个 core ,超线程之后看到 64 个 cpu 。那么你按 64 个 cpu 分,你最终 cpu 能不能跑满还是看你应用能不能跑满。你要是你 1 个 cpu 分一个虚拟机,开了 64 个虚拟机,但是你一个虚拟机里啥事也不跑,就开了虚拟机在那里闲置,自然你 cpu 利用率一直空着。。。。 抛开虚拟化,你就直接在物理机上跑程序,最后还是看程序能不能把 cpu 吃满。 当然你要是真每个虚拟机里面就跑一些不耗 cpu 的程序,那么你可以用 openvz 这种虚拟化技术(只是举个例子,其他虚拟化技术有很多,容器 docker 、 lxc 也是不错的选择),你就可以“超售”,你可以 64 个 cpu 开几百个虚拟机,靠进程的数目来把 cpu 跑满。。。 | 
|      7just4test OP @zsj950618 我的意思是,按 64 核分配出去,每个核都跑满的话,单核性能是比按 32 核分配的单核性能差的。 | 
|  |      8dudesun      2016-08-01 14:58:30 +08:00 我理解公有云都是按超线程后总数卖的 |