オペレーティング システムによって公開されるデータは、多くの場合、 Amazon EC2のような仮想化環境では不十分または誤解を招きます。報告される割合は、インスタンス タイプと基盤となるプロセッサ コアの使用率によって異なります (通常は、ハイパーバイザー)、とりわけ - あなたが見ているのは、最近のほとんどの関連する Unix/Linux 監視ツールで公開されているそれぞれのCPU スチール時間が原因である可能性が最も高いです(ただし、Windows では残念ながら、私の質問を参照してください。Unix に相当する Windows はありますか?この問題の詳細については、CPU スチール時間'?sar
) - たとえば、列 %steal または st inまたはtop
:を参照してください。
st -- スチール時間
他のタスク (別の仮想マシンの実行など) のためにハイパーバイザーによってこの仮想マシンから「盗まれた」CPU の量。
ブログ投稿EC2 監視: 盗まれた CPU の事例は、このトピックの優れた調査と実例を提供します。
top コマンドが 40% の CPU ビジーを表示しているのに、CloudWatch がサーバーが 100% で限界に達していると言っている場合、あなたはどちらの側を取りますか? 答えは簡単です (CloudWatch は正しく、上は正しくありません) [...]
CPU スチール時間は、使用している EC2 インスタンス タイプ t1.micro で特に一般的であり、定義により大幅に調整される可能性があります (通常、約 97% のスチール時間!)。詳細な説明と概念の図については、マイクロ インスタンスを参照してください。具体的には、インスタンスがその割り当てられたリソースを使用する場合のセクションには、次のように記載されています。
アプリケーションが一定期間に一定量の CPU リソースのみを消費することが予想されます。アプリケーションがインスタンスに割り当てられた CPU リソースよりも多くを消費する場合、インスタンスを一時的に制限して、低い CPU レベルで動作するようにします。インスタンスが割り当てられたすべてのリソースを使い続けると、パフォーマンスが低下します。CPU レベルを制限する時間を増やして、インスタンスが再びバーストできるようになるまでの時間を増やします。[鉱山を強調]
したがって、マイクロ インスタンスの持続可能な CPU 使用プロファイルを超えて、ワークロードを調整するか、別のインスタンス タイプに切り替える必要がある場合があります。