web-dev-qa-db-ja.com

t2.microインスタンスは常にベースラインCPU使用率を下回っていますが、それでもCPUクレジットを消費しています-なぜですか?

アイルランドのec2でUbuntuLinuxを実行しているt2.microインスタンスがあり、バッチジョブを実行しており、最大CPUがかなり低くなるように調整しました。10%を超えることはありません。

ドキュメントによると:

T2インスタンスが基本パフォーマンスレベルで許可されているよりも少ないCPUリソースを使用する場合(アイドル時など)、未使用のCPUクレジット(または獲得したものと使用したものの差)は、最大24までクレジット残高に保存されます時間、バースト用のCPUクレジットを構築します。 T2インスタンスが基本パフォーマンスレベルで許可されているよりも多くのCPUリソースを必要とする場合、T2インスタンスはCPUクレジット残高からのクレジットを使用して最大100%の使用率をバーストします。

http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/t2-instances.html

同じページには、このタイプのインスタンスの「基本パフォーマンス(CPU使用率)」は10%であるとも記載されています。

ただし、CPU使用率が約6%レベルの場合(常に最大値が10%未満のまま)、インスタンスはCPUクレジットを消費します。インスタンスが基本パフォーマンスレベル以下の場合、CPUクレジットを消費しないと記載されているドキュメント(上記で引用)を理解しているため、これは私が期待したことではありません。 (Cloudwatchの基本的なモニタリングからCPU使用率の数値を取得しています)。

では、なぜインスタンスがCPUクレジットを消費しているのでしょうか。

2
A E

それはまだクレジットを消費しています、それはそれがそれらを使い果たすよりも同じレートまたはより速い速度で新しいクレジットを取得しているだけです。

1つのCPUクレジットは、100%の使用率で1分間実行される1つのvCPUに相当します。 vCPU、使用率、および時間の他の組み合わせも1CPUクレジットに相当します。たとえば、1つのvCPUが50%の使用率で2分間実行されているか、2つのvCPUが25%の使用率で2分間実行されています。

したがって、t2.microの場合、1時間あたり6クレジット(10分ごとに1つ)を取得します。 10%の負荷では、1時間あたり6クレジットを消費します(ここでも、10分ごとに1クレジット)。

仕事の代金を払って家賃を払わなければならないようなものだと考えてください。あなたの仕事はあなたの家賃を直接支払うのではなく、あなたに0ドルの給料を与えるだけです-彼らはあなたにお金を与え、それからあなたはあなたの家賃を支払います。家賃以上の収入があると、銀行口座が上がります。家賃よりも収入が少ないと、やがてお金がなくなります。

1
ceejayoz