![T2 CPU 信用计算期间“空闲”CPU 是什么?](https://linux22.com/image/636835/T2%20CPU%20%E4%BF%A1%E7%94%A8%E8%AE%A1%E7%AE%97%E6%9C%9F%E9%97%B4%E2%80%9C%E7%A9%BA%E9%97%B2%E2%80%9DCPU%20%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
EC2 T2“可突发”类型的文档说明:
基准性能和突发能力由 CPU 积分决定。每个 T2 实例都会根据实例大小以固定的速率持续获得 CPU 积分。T2 实例在空闲时累积 CPU 积分并在 CPU 积分处于活动状态时使用它们。一个 CPU 积分可提供一分钟的完整 CPU 核心的性能。
我不明白的是闲置的是什么意思?所有实例都使用一些 > 0% 的 CPU,那么是否有一个 CPU 使用率数字低于该数字时实例被视为“空闲”?
令人惊讶的是,鉴于该术语的广泛用法,我无法在任何地方找到“闲置”的定义。
答案1
好问题,亚马逊 EC2文档T2 实例中的 CPU 积分这里确实可以更精确 - 介绍性博客文章具有突发性能的全新低成本 EC2 实例提供了更好的解释,见中间的表格:
标记为“基准性能”的列表示分配给实例的底层物理 CPU 的单核性能百分比。例如,t2.small 实例可以使用运行频率为 2.5 GHz(Turbo 模式下最高可达 3.3 GHz)的 Intel Xeon 处理器单核的 20%。t2.medium 可以使用单核的 40% 性能,您(或者更准确地说是您的操作系统)可以根据需求在一个或两个核心上使用这一性能。
标有“CPU 积分/小时”的列表示 T2 实例每小时收到的 CPU 积分的速率。当实例未使用其基本 CPU 分配时,CPU 积分会累积,并在实例处于活动状态时使用. 未使用的 CPU 积分最多可存储 24 小时。[重点是我的]
答案2
对于 Linux 服务器来说,“空闲”通常很难定义。一般来说,空闲应该是未花在用户模式、系统模式、低优先级模式、I/O 等待或中断上的时间——特殊规定是,在给定正确类型的工作负载的情况下,I/O 等待时间可以转换为用户模式时间(用于另一个进程)。
然而,关于 AWS t2 空闲的问题,这个说法并不成立。对于 t1 来说,这个说法也不成立(因为“偷窃”了时间),但即便如此,也无法解释 t2 的行为。我遇到过这样的情况:空闲时间(由 Linux top 和 AWS CloudWatch 报告)远远高于记录的阈值水平,但实例却在失去 CPU 积分,而不是获得它们。我认为这是亚马逊方面的会计错误,在修复之前,过于努力地去理解如何定义 CPU 利用率和空闲将是浪费时间。
我在 AWS 的支持论坛上发布了一些说明性图表,希望他们能够做出回应。https://forums.aws.amazon.com/thread.jspa?messageID=568026#568026
答案3
下面是类似这样的
如果您使用的微型实例始终以最大 10% 的单核运行。假设您的服务器消耗了 5% 的单核,那么它会将剩余 5% 的计算能力视为闲置。这 5% 只会在 24 小时内不断累积。现在,如果您有这个积累,而您的服务器又急需计算能力,那么它可以从这个积累的计算能力中借用。对于这种计算能力,他们使用了一个花哨的词,称为 CPU 积分。
我用 Google 搜索了一下并在一些博客上找到了很好的解释http://themindtracks.com/amazon-launches-new-low-cost-ec2-instances-burstable-performance/