

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 監控爆量執行個體的 CPU 額度
<a name="burstable-performance-instances-monitoring-cpu-credits"></a>

EC2 會將指標傳送至 Amazon CloudWatch。您可以在 CloudWatch 主控台的 Amazon EC2 每個執行個體指標中查看 CPU 點數指標，或使用 AWS CLI 列出每個執行個體的指標。如需詳細資訊，請參閱[您的執行個體可用的 CloudWatch 指標](viewing_metrics_with_cloudwatch.md)。

**Topics**
+ [高載效能執行個體的其他 CloudWatch 指標](#burstable-performance-instances-cw-metrics)
+ [計算 CPU 額度用量](#burstable-performance-instances-calculating-credit-use)

## 高載效能執行個體的其他 CloudWatch 指標
<a name="burstable-performance-instances-cw-metrics"></a>

爆量效能執行個體具有這些其他的 CloudWatch 指標，每五分鐘會更新一次：
+ `CPUCreditUsage` – 在衡量期間用掉的 CPU 額度。
+ `CPUCreditBalance` – 執行個體已累積的 CPU 額度。當 CPU 效能瞬間突增，以及 CPU 額度用掉的速度比獲得的快時，此額度餘額會用完。
+ `CPUSurplusCreditBalance` – 當 `CPUCreditBalance` 值為 0 時，為維持 CPU 使用率所用掉的多餘 CPU 額度。
+ `CPUSurplusCreditsCharged` – 超過 24 小時期間可獲得[最高 CPU 額度](burstable-credits-baseline-concepts.md#burstable-performance-instances-credit-table)的多餘 CPU 額度，因此會產生額外的費用。

最後兩種指標只適用於設定為 `unlimited` 的執行個體。

下表說明高載效能執行個體的 CloudWatch 指標。如需詳細資訊，請參閱[您的執行個體可用的 CloudWatch 指標](viewing_metrics_with_cloudwatch.md)。


| 指標 | 描述 | 
| --- | --- | 
| CPUCreditUsage |  執行個體為 CPU 使用率花費的 CPU 額度數量。一個 CPU 額度等於一個 vCPU 以 100% 使用率執行 1 分鐘，或同等的 vCPU、使用率與時間的組合 (例如，一個 vCPU 以 50% 使用率執行 2 分鐘，或兩個 vCPU 以 25% 使用率執行 2 分鐘)。 CPU 額度指標僅提供 5 分鐘頻率。如果您要指定大於 5 分鐘的期間，請使用 `Sum` 統計資訊代替 `Average` 統計資訊。 單位：額度 (vCPU-分鐘)  | 
| CPUCreditBalance |  自執行個體啟動或開始後，累積獲得的 CPU 額度數量。如果是 T2 Standard，`CPUCreditBalance` 也包含已產生的啟動額度。 獲得額度後，額度會在額度餘額中累積，並在支付額度時，從額度餘額中移出。額度餘額有最大值限制，它取決於執行個體大小。到達限制之後，任何獲得的新額度都會遭到捨棄。如果是 T2 Standard，啟動額度不會計入此限制。 `CPUCreditBalance` 中的額度可供執行個體支付以大幅提升並超越基準 CPU 使用率。 當執行個體執行時，`CPUCreditBalance` 中的額度不會過期。當 T4g、T3a 或 T3 執行個體停止時，`CPUCreditBalance` 值會持續保存七天。因此，所有累積的額度都會消失。當 T2 執行個體停止時，`CPUCreditBalance` 值不會持續保存，而且所有累積的額度都將消失。 CPU 額度指標僅提供 5 分鐘頻率。 單位：額度 (vCPU-分鐘)  | 
| CPUSurplusCreditBalance  |  當 `unlimited` 執行個體的 `CPUCreditBalance` 值為 0 時，該執行個體已支出的剩餘額度數量。 `CPUSurplusCreditBalance` 值由獲得的 CPU 額度支付。如果剩餘額度超過執行個體在 24 小時期間可獲得的最大額度數量，超過最大值的支出剩餘額度將必須負擔額外的費用。 單位：額度 (vCPU-分鐘)   | 
| CPUSurplusCreditsCharged |  若支出剩餘額度數量未由獲得的 CPU 額度付清，會產生額外的費用。 發生以下任何情況時，將收取支出剩餘額度的費用。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/burstable-performance-instances-monitoring-cpu-credits.html) 單位：額度 (vCPU-分鐘)   | 

## 計算 CPU 額度用量
<a name="burstable-performance-instances-calculating-credit-use"></a>

執行個體的 CPU 額度用量，會透過上表中所說明的執行個體 CloudWatch 指標計算。

Amazon EC2 每五分鐘會將指標傳送給 CloudWatch。在任何時點參考指標的 *prior* 值，即表示該指標先前的值 (*五分鐘前*傳送的值)。

### 計算標準執行個體的 CPU 額度使用
<a name="burstable-performance-instances-standard-calculation"></a>
+ 當用掉的額度，少於先前五分鐘間隔中所獲得的額度時，如果 CPU 使用率低於基準，則 CPU 額度餘額會增加。
+ 當用掉的額度，多於先前五分鐘間隔中所獲得的額度時，如果 CPU 使用率高於基準，則 CPU 額度餘額會減少。

在數學上，這可以透過下列方程式計算：

**Example**  

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

執行個體的大小，決定了執行個體每小時可獲得的額度，以及執行個體額度餘額可累積獲得額度的上限。如需每小時所獲得的額度、每種執行個體大小的額度餘額限額資訊，請參閱[額度表](burstable-credits-baseline-concepts.md#burstable-performance-instances-credit-table)。

**範例**  
此範例使用 `t3.nano` 執行個體。若要計算執行個體的 `CPUCreditBalance` 值，請使用前述的方程式，如下所示：
+ `CPUCreditBalance` – 要計算的最新額度餘額。
+ `prior CPUCreditBalance` – 5 分鐘前的額度餘額。在此範例中，執行個體累積了 2 種額度。
+ `Credits earned per hour` – 一個 `t3.nano` 執行個體每小時會獲得 6 點。
+ `5/60` – 代表 CloudWatch 指標發佈之間的 5 分鐘間隔。將每小時獲得的額度乘上 5/60 (5 分鐘)，以算出該執行個體在過去 5 分鐘內獲得的額度。`t3.nano` 執行個體每 5 分鐘會獲得 0.5 點。
+ `CPUCreditUsage` – 在過去 5 分鐘內執行個體所用掉的額度。在此範例中，執行個體過去 5 分鐘內用掉了 1 點。

使用這些值，可以計算出 `CPUCreditBalance` 值：

**Example**  

```
CPUCreditBalance = 2 + [0.5 - 1] = 1.5
```

### 計算無限制執行個體的 CPU 額度使用
<a name="burstable-performance-instances-unlimited-calculation"></a>

當爆量效能執行個體的效能需要爆發超過基準時，一律會先用掉累積的額度，然後再使用剩餘額度。當該執行個體累積的 CPU 額度餘額用完時，可以使用剩餘額度，讓 CPU 在所需的期間大幅提升。如果 CPU 的使用率掉到基準以下，執行個體一律會先償還剩餘額度，然後才能累積獲得的額度。

在下列的方程式中，我們使用 `Adjusted balance` 一詞，來代表這個 5 分鐘間隔內所發生的動作。我們會使用此值來算出 `CPUCreditBalance` 和 `CPUSurplusCreditBalance` CloudWatch 指標的值。

**Example**  

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

`0` 的 `Adjusted balance` 值代表該執行個體為了突增的效能，已經用完所有獲得的額度，而且未使用剩餘額度。因此，`CPUCreditBalance` 和 `CPUSurplusCreditBalance` 都會設定為 `0`。

正的 `Adjusted balance` 值表示該執行個體已累積獲得的額度，而且已償還先前的剩餘額度 (如果有的話)。因此，`Adjusted balance` 值會指派給 `CPUCreditBalance`，而 `CPUSurplusCreditBalance` 會設定為 `0`。執行個體的大小，會決定執行個體所能累積的[額度上限](burstable-credits-baseline-concepts.md#burstable-performance-instances-credit-table)。

**Example**  

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

負的 `Adjusted balance` 值代表執行個體已經用完所有累積獲得的額度，而且也因為突增的效能用掉了剩餘額度。因此，`Adjusted balance` 值會指派給 `CPUSurplusCreditBalance`，而 `CPUCreditBalance` 會設為 `0`。再說一次，執行個體的大小，會決定執行個體所能累積的[額度上限](burstable-credits-baseline-concepts.md#burstable-performance-instances-credit-table)。

**Example**  

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

如果用掉的剩餘額度超過執行個體可累積的最高額度，則剩餘額度餘額會設定為最高額度，如先前的方程式中所示。剩下的剩餘額度會收取費用 (以 `CPUSurplusCreditsCharged` 指標表示)。

**Example**  

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

最後，當執行個體終止時，透過 `CPUSurplusCreditBalance` 追蹤的所有剩餘額度都會計費。如果執行個體從 `unlimited` 切換為 `standard`，也會針對所有剩下的 `CPUSurplusCreditBalance` 收費。