本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
EC2 會將指標傳送至 Amazon CloudWatch。您可以在 CloudWatch 主控台的 Amazon EC2 每個執行個體指標中看到 CPU 額度指標,或使用 AWS CLI 列出每個執行個體的指標。如需詳細資訊,請參閱您的執行個體可用的 CloudWatch 指標。
高載效能執行個體的其他 CloudWatch 指標
爆量效能執行個體具有這些其他的 CloudWatch 指標,每五分鐘會更新一次:
-
CPUCreditUsage
– 在衡量期間用掉的 CPU 額度。 -
CPUCreditBalance
– 執行個體已累積的 CPU 額度。當 CPU 效能瞬間突增,以及 CPU 額度用掉的速度比獲得的快時,此額度餘額會用完。 -
CPUSurplusCreditBalance
– 當CPUCreditBalance
值為 0 時,為維持 CPU 使用率所用掉的多餘 CPU 額度。 -
CPUSurplusCreditsCharged
– 超過 24 小時期間可獲得最高 CPU 額度的多餘 CPU 額度,因此會產生額外的費用。
最後兩種指標只適用於設定為 unlimited
的執行個體。
下表說明高載效能執行個體的 CloudWatch 指標。如需詳細資訊,請參閱您的執行個體可用的 CloudWatch 指標。
指標 | 描述 |
---|---|
CPUCreditUsage |
執行個體為 CPU 使用率花費的 CPU 額度數量。一個 CPU 額度等於一個 vCPU 以 100% 使用率執行 1 分鐘,或同等的 vCPU、使用率與時間的組合 (例如,一個 vCPU 以 50% 使用率執行 2 分鐘,或兩個 vCPU 以 25% 使用率執行 2 分鐘)。 CPU 額度指標僅提供 5 分鐘頻率。如果您要指定大於 5 分鐘的期間,請使用 單位:額度 (vCPU-分鐘) |
CPUCreditBalance |
自執行個體啟動或開始後,累積獲得的 CPU 額度數量。如果是 T2 Standard, 獲得額度後,額度會在額度餘額中累積,並在支付額度時,從額度餘額中移出。額度餘額有最大值限制,它取決於執行個體大小。到達限制之後,任何獲得的新額度都會遭到捨棄。如果是 T2 Standard,啟動額度不會計入此限制。
當執行個體執行時, CPU 額度指標僅提供 5 分鐘頻率。 單位:額度 (vCPU-分鐘) |
CPUSurplusCreditBalance
|
當
單位:額度 (vCPU-分鐘) |
CPUSurplusCreditsCharged |
若支出剩餘額度數量未由獲得的 CPU 額度付清,會產生額外的費用。 發生以下任何情況時,將收取支出剩餘額度的費用。
單位:額度 (vCPU-分鐘) |
計算 CPU 額度用量
執行個體的 CPU 額度用量,會透過上表中所說明的執行個體 CloudWatch 指標計算。
Amazon EC2 每五分鐘會將指標傳送給 CloudWatch。在任何時點參考指標的 prior 值,即表示該指標先前的值 (五分鐘前傳送的值)。
計算標準執行個體的 CPU 額度使用
-
當用掉的額度,少於先前五分鐘間隔中所獲得的額度時,如果 CPU 使用率低於基準,則 CPU 額度餘額會增加。
-
當用掉的額度,多於先前五分鐘間隔中所獲得的額度時,如果 CPU 使用率高於基準,則 CPU 額度餘額會減少。
在數學上,這可以透過下列方程式計算:
CPUCreditBalance = prior CPUCreditBalance + [Credits earned per hour * (5/60) - CPUCreditUsage]
執行個體的大小,決定了執行個體每小時可獲得的額度,以及執行個體額度餘額可累積獲得額度的上限。如需每小時所獲得的額度、每種執行個體大小的額度餘額限額資訊,請參閱額度表。
範例
此範例使用 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
值:
CPUCreditBalance = 2 + [0.5 - 1] = 1.5
計算無限制執行個體的 CPU 額度使用
當爆量效能執行個體的效能需要爆發超過基準時,一律會先用掉累積的額度,然後再使用剩餘額度。當該執行個體累積的 CPU 額度餘額用完時,可以使用剩餘額度,讓 CPU 在所需的期間大幅提升。如果 CPU 的使用率掉到基準以下,執行個體一律會先償還剩餘額度,然後才能累積獲得的額度。
在下列的方程式中,我們使用 Adjusted balance
一詞,來代表這個 5 分鐘間隔內所發生的動作。我們會使用此值來算出 CPUCreditBalance
和 CPUSurplusCreditBalance
CloudWatch 指標的值。
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
。執行個體的大小,會決定執行個體所能累積的額度上限。
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
追蹤的所有剩餘額度都會計費。如果執行個體從 unlimited
切換為 standard
,也會針對所有剩下的 CPUSurplusCreditBalance
收費。