Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

监控 CPU 积分

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

T2 实例的额外 CloudWatch 指标

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

  • CPUCreditUsage – 在测量周期内花费的 CPU 积分数。

  • CPUCreditBalance – T2 实例累积的 CPU 积分数。在 CPU 突增以及 CPU 积分的花费速度比获得速度快时,该余额将用完。

  • CPUSurplusCreditBalance – 在 CPUCreditBalance 为零时,用于保持 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 积分数。对于 T2 标准,CPUCreditBalance 还包含已累积的启动积分数。

在获得积分后,积分将在积分余额中累积;在花费积分后,将从积分余额中扣除积分。积分余额具有最大值限制,这是由实例大小决定的。在达到限制后,将丢弃获得的任何新积分。对于 T2 标准,启动积分不计入限制。

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

在实例运行过程中,CPUCreditBalance 中的积分不会过期。在实例停止时,CPUCreditBalance 不会保留,并且所有累积的积分都将丢失。

CPU 积分指标仅每 5 分钟提供一次。

单位:积分 (vCPU 分钟)

CPUSurplusCreditBalance

[T2 无限实例] 在 CPUCreditBalance 为零时,“T2 无限”实例花费的超额积分数。

CPUSurplusCreditBalance 由获得的 CPU 积分支付。如果超额积分数超出实例可在 24 小时周期内获得的最大积分数,则超出最大积分数的已花费超额积分将产生额外费用。

单位:积分 (vCPU 分钟)

CPUSurplusCreditsCharged

[T2 无限实例] 未由获得的 CPU 积分支付并且会产生额外费用的已花费超额积分数。

在出现以下任一情况时,将对花费的超额积分收费:

  • 花费的超额积分超出实例可在 24 小时周期内获得的最大积分数。对于超出最大积分数的所花费超额积分,将在该小时结束时向您收费。

  • 实例已停止或终止。

  • 实例已从“无限制”切换到“标准”。

单位:积分 (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 balance 的值为 0,表示实例花费获得的所有积分来进行突增,而未花费任何超额积分。因此,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 收费。