本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控高CPU載執行個體的積分
EC2將指標發送到 Amazon CloudWatch。您可以在 CloudWatch 主控台的 Amazon EC2 每個執行個體指標中查看CPU積分指標,或使用列 AWS CLI 出每個執行個體的指標。如需詳細資訊,請參閱CloudWatch 您執行個體可用的指標。
高載效能執行個體的其他 CloudWatch 指標
高載效能執行個體具有下列額外 CloudWatch 指標,每五分鐘更新一次:
-
CPUCreditUsage
— 在測量期間花費的CPU學分數。 -
CPUCreditBalance
— 執行個體已累CPU積的學分數。當CPU爆發和CPU積分花費得比賺取的速度更快時,這種餘額就會耗盡。 -
CPUSurplusCreditBalance
— 當CPUCreditBalance
值為零時,用於維持使CPU用率的剩餘CPU信用額度數。 -
CPUSurplusCreditsCharged
— 超過可以在 24 小時內獲得的最大CPU學分數量的剩餘CPU積分數量,從而吸引了額外的費用。
最後兩種指標只適用於設定為 unlimited
的執行個體。
下表說明高載效能執行處理的 CloudWatch 測量結果。如需詳細資訊,請參閱CloudWatch 您執行個體可用的指標。
指標 | 描述 |
---|---|
CPUCreditUsage |
執行處理CPU用於使用的CPU點數。一個點CPU數等於以 100% 使用率CPU執行一分鐘的一 vvCPUs,或同等的使用率和時間組合 (例如,一個 v 以 50% 使用率CPU執行兩分鐘,或以 25% 的使用率 vCPUs 執行兩分鐘兩分鐘)。 CPU信用指標只有五分鐘的頻率提供。如果您要指定大於 5 分鐘的期間,請使用 單位:學分 (v CPU-分鐘) |
CPUCreditBalance |
執行個體啟動或啟動後累CPU積的已獲得積分數。如果是 T2 Standard, 獲得額度後,額度會在額度餘額中累積,並在支付額度時,從額度餘額中移出。額度餘額有最大值限制,它取決於執行個體大小。到達限制之後,任何獲得的新額度都會遭到捨棄。如果是 T2 Standard,啟動額度不會計入此限制。 執行個體中 當執行個體執行時, CPU信用指標只有五分鐘的頻率提供。 單位:學分 (v CPU-分鐘) |
CPUSurplusCreditBalance
|
當 該 單位:學分 (v CPU-分鐘) |
CPUSurplusCreditsCharged |
所賺取的積分未支付的已支付剩餘CPU點數,因此會產生額外費用。 發生以下任何情況時,將收取支出剩餘額度的費用。
單位:學分 (v CPU-分鐘) |
計算CPU信用用量
執行處理的點數用量是使用上表所述的執行處理 CloudWatch 測量結果來計算。CPU
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/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
收費。