Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

监控 CPU 积分

您可以在 CloudWatch 控制台 Amazon EC2 每个实例指标中查看每个 T2 实例的积分余额。

T2 实例的额外 CloudWatch 指标

T2 实例具有四个额外的 CloudWatch 指标,将每 5 分钟更新一次:

  • CPUCreditUsage

  • CPUCreditBalance

  • CPUSurplusCreditBalance

  • CPUSurplusCreditsCharged

CPUCreditUsage 指标指示在测量期内使用的 CPU 积分数。CPUCreditBalance 指标指示 T2 实例获得的未使用 CPU 积分数。在 CPU 突增以及 CPU 积分的花费速度比获得速度快时,该余额将用完。

CPUCreditBalance 为零时,CPUSurplusCreditBalance 指标表示用于保持 CPU 性能的超额 CPU 积分数。CPUSurplusCreditsCharged 指标表示超过可在 24 小时内获得的最大 CPU 积分数的超额 CPU 积分数,因而会产生额外的费用。这两个指标仅适用于配置为 unlimited 的 T2 实例。

下表说明了 T2 实例的 CloudWatch 指标。有关如何在 CloudWatch 中使用这些指标的更多信息,请参阅列出实例的可用 CloudWatch 指标

指标 描述
CPUCreditUsage

[T2 实例] 实例在 CPU 使用率中使用的 CPU 积分数。一个 CPU 积分等于一个 vCPU 按 100% 使用率运行一分钟,或者 vCPU、使用率和时间的等效组合(例如,一个 vCPU 按 50% 使用率运行两分钟,或者两个 vCPU 按 25% 使用率运行两分钟)。

CPU 积分指标是仅以 5 分钟频率提供的。如果您指定一个大于五分钟的时间段,请使用Sum 统计数据,而非 Average 统计数据。

单位:积分 (vCPU 分钟)

CPUCreditBalance

[T2 实例] 在启动实例后累积获得的 CPU 积分数减去使用的积分,最多为基于实例大小的最大积分数。

在获得后,积分存储在积分余额中,在使用后,将从积分余额中删除积分。积分余额具有最大值限制,这是由实例大小决定的。如果积分余额已达到该限制,则不会在余额中添加获得的额外积分。

实例可以使用 CPUCreditBalance 中的积分突增到基准 CPU 使用率以上。

运行的实例上的积分不会过期。不过,如果停止实例,则会丢失积分余额中的所有积分。

CPU 积分指标是仅以 5 分钟频率提供的。

单位:积分 (vCPU 分钟)

CPUSurplusCreditBalance

[T2 实例] 在 CPUCreditBalance 为零时,T2 无限实例使用的超额积分数。

CPUSurplusCreditBalance 由获得的 CPU 积分支付。

单位:积分 (vCPU 分钟)

CPUSurplusCreditsCharged

[T2 实例] 获得的 CPU 积分不会抵消 T2 无限实例使用的超额积分数。CPUSurplusCreditsCharged 跟踪产生额外费用的超额积分,并表示 CPUSurplusCreditBalanceCPUCreditBalance 之间的差额。

单位:积分 (vCPU 分钟)

计算使用的 CPU 积分

T2 标准和 T2 无限实例使用的 CPU 积分是使用上表中所述的 T2 实例 CloudWatch 指标计算的。

Amazon EC2 每 5 分钟向 CloudWatch 发送一次指标。在任何时间点引用的以前 指标值是指 5 分钟前 发送的以前指标值。

计算 T2 标准使用的 CPU 积分

  • 如果 CPU 使用率低于基准,此时使用的积分低于前 5 分钟间隔获得的积分,CPU 积分余额将增加。

  • 如果 CPU 使用率高于基准,此时使用的积分超过前 5 分钟间隔获得的积分,CPU 积分余额将减少。

从数学上讲,这是使用以下公式得出的。

CPUCreditBalance = prior CPUCreditBalance + [Credits earned per hour * (5/60) - CPUCreditUsage]

实例大小确定实例可以累积的最大积分余额以及每小时获得的积分数。有关每个 T2 实例大小的最大积分余额以及每小时获得的积分数的信息,请参阅 T2 积分表

示例

该示例使用 t2.micro 实例。要计算实例的 CPUCreditBalance,请按以下方式使用前面的公式:

  • CPUCreditBalance – 要计算的当前积分余额。

  • prior CPUCreditBalance – 5 分钟前的积分余额。在该示例中,实例累积了两个积分。

  • Credits earned per hourt2.micro 实例每小时获得 6 个积分。

  • 5/60 – 表示 CloudWatch 指标发布的 5 分钟间隔。将每小时获得的积分乘以 5/60 (5 分钟) 以计算实例在过去 5 分钟获得的积分数。t2.micro 实例每 5 分钟获得 0.5 个积分。

  • CPUCreditUsage – 实例在过去 5 分钟内使用的积分数。在该示例中,实例在过去 5 分钟内使用 1 个积分。

您可以使用这些值计算 CPUCreditBalance 值:

CPUCreditBalance = 2 + [0.5 - 1] = 1.5

计算 T2 无限使用的 CPU 积分

在 T2 实例需要突增到基准以上时,它在使用超额积分之前始终先使用获得的积分余额。在用完累积的 CPU 积分余额时,它可以使用超额积分以突增所需的时间。在 CPU 使用率低于基准时,在实例累积获得的积分之前始终先支付超额积分。

我们在以下公式中使用 Adjusted balance 项以反映在该 5 分钟间隔内发生的活动。我们使用该值计算 CPUCreditBalanceCPUSurplusCreditBalance CloudWatch 指标的值。

Adjusted balance = [prior CPUCreditBalance - prior CPUSurplusCreditBalance] + [Credits earned per hour * (5/60) - CPUCreditUsage]

Adjusted balance0 值表示实例使用获得的所有积分进行突增,而不使用任何超额积分。因此,CPUCreditBalanceCPUSurplusCreditBalance 均设置为 0

正的 Adjusted balance 值表示实例累积获得了积分,并支付了以前的超额积分 (如果有)。因此,将 Adjusted balance 值分配给 CPUCreditBalance,并将 CPUSurplusCreditBalance 设置为 0。实例大小确定可累积的最大积分余额

CPUCreditBalance = min [max earned credit balance, Adjusted balance] CPUSurplusCreditBalance = 0

负的 Adjusted balance 值表示实例使用获得的所有积分,并且还使用了超额积分以进行突增。因此,将 Adjusted balance 值分配给 CPUSurplusCreditBalance,并将 CPUCreditBalance 设置为 0。同样,实例大小确定可累积的最大超额积分余额。

CPUSurplusCreditBalance = min [max earned credit balance, -Adjusted balance] CPUCreditBalance = 0

如果使用的超额积分超过实例可累积的最大积分,超额积分余额将设置为最大值,如前面的公式中所示。将对剩余的超额积分收费,如 CPUSurplusCreditsCharged 指标表示。

CPUSurplusCreditsCharged = max [-Adjusted balance - max earned credit balance, 0]

最后,在实例终止时,将对 CPUSurplusCreditBalance 中累积的任何超额积分收费。如果实例从“无限”切换到“标准”,则还会对任何剩余的 CPUSurplusCreditBalance 收费。