比如一个物理机有 32 个物理核, 64 个逻辑核 那么分配虚机的时候,如果按照 32 核心分配,就浪费了超线程 按照 64 核分配,每个核心就不能跑满 现在市面上也没见着具有超线程核心的云计算产品。
1
Laynooor 2016-08-01 13:15:40 +08:00 via Android
同问,像阿里云这些,是按物理核分配的么?
|
2
xmoiduts 2016-08-01 13:20:40 +08:00 via Android
腾讯云:一核等于一个超线程。(官网介绍)
|
3
fcicq 2016-08-01 13:22:39 +08:00
AWS 也是每个超线程核心是一个 vCPU. 都是巨坑.
|
4
zsj950618 2016-08-01 14:23:09 +08:00
什么叫“按照 64 核分配,每个核心就不能跑满”。。。。。。
|
6
zsj950618 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 跑满。。。 |
7
just4test OP @zsj950618 我的意思是,按 64 核分配出去,每个核都跑满的话,单核性能是比按 32 核分配的单核性能差的。
|
8
dudesun 2016-08-01 14:58:30 +08:00
我理解公有云都是按超线程后总数卖的
|