web-dev-qa-db-ja.com

非常に定期的な間隔でEC2インスタンスで盗まれた高いCPU%

AWS上のm1.small EC2インスタンスいくつかのウェブサイトを実行しています。 CPU使用率が定期的に、正確に30分(0:06、0:36、1:06、...)ごとにピークになっていることに気付きました。

私はcronをチェックしました(私はたくさん持っています)、ボットは30分ごとに実行しません。 topを見ると、ピークの長さは約1分で、ほぼ完全に "stolen CPU"(%st)。アマゾンで盗まれたCPU時間であると読みましたVMハイパーバイザーですが、なぜこれが発生するのか(これが発生したときにCPUを集中的に使用するものを実行していない)で、なぜそれが正確なのか理解できません) 30分ごと。

手がかりはありますか?より大きなインスタンスを購入する必要がありますか?残りの時間はCPUが非常に低く、load averageneverが0.5を超えるので、私はそうは思いません...

Cacti CPU graph

4
lorenzo-s

EC2インスタンスのタイプと基盤となるハードウェアによっては、基盤となるすべてのCPUサイクルへのアクセスに料金がかからない場合があります。古い、遅いCPUと同等であると約束されているm1.smallを要求した場合、Amazonは100%最新の高速CPUへのアクセスを提供しません。

EC2では、スチールは他の仮想マシンネイバーのアクティビティに依存しません。 EC2が問題のCPUサイクルを超えていないことを確認するだけです。

M1.smallが基礎となるより高速なCPUの50%を取得する場合、使用しているCPUのビットごとに、スチールとフラグが付けられた別の等しいパーセンテージが表示されます。

EC2が、アクセスできないCPUの残りの部分をいじって、アクセスできないときにそれを通知するのではなく、真の利用可能なCPUが「100%」であるとEC2が考えさせたら、いいでしょう。 CPUを使用してみますが、現在のVMおよびホストの設定を前提として、それが機能します。

m1.smallインスタンスは、基盤となるハードウェアのCPU速度と比較して、価格でアクセスできるCPUが限られているため、高い割合のスチールを示す可能性があります。

この特定のインスタンスがEC2側で何かが壊れているのではないかと心配している場合は、インスタンスを停止/開始して新しいハードウェアに移動し( これに関する私の記事 )、それが違いを生むかどうかを確認できます。もちろん、スチールのパーセンテージが低下した場合は、より遅いハードウェアCPUに移行したことを示している可能性があります。

30分ごとのアクティビティについては、サーバー上のソフトウェアです。これは、システムのcronジョブである場合と、デーモン(バックグラウンドプロセス)によってトリガーされる場合があります。

11
Eric Hammond