別のインスタンスのデータベースに行を挿入するec2インスタンスでPythonスクリプトを実行しています。ec2のモニタリングでは、CPU使用率が100%であるのに対して、topはpythonプロセスの20%しか表示していません。上から何が欠けていますか?ネットワークのオーバーヘッド?
別のインスタンスのデータベースに行を挿入するec2インスタンスでPythonスクリプトを実行しています。ec2のモニタリングでは、CPU使用率が100%であるのに対して、topはpythonプロセスの20%しか表示していません。上から何が欠けていますか?ネットワークのオーバーヘッド?
回答:
によって公開されるデータtop
は、Amazon EC2のような仮想化環境では不十分または誤解を招くことが多く、報告される割合は、インスタンスのタイプと基になるプロセッサコア使用率(通常、ハイパーバイザーから提示される仮想化ハードウェアと一致しません)によって異なります。他のもの-あなたが見ているものは、最近のほとんどの関連するUnix / Linux監視ツールで公開されているそれぞれのCPUスチールタイムが原因である可能性が最も高いです-たとえば列%stealまたはst in sar
またはtop
:
st-スチール時間
他のタスク(別の仮想マシンの実行など)のためにハイパーバイザーによってこの仮想マシンから「盗まれた」CPUの量。
ブログ投稿EC2の監視:CPUが盗まれたケースは、このトピックの素晴らしい調査と図解を提供します。
topコマンドが40%のCPUビジーを表示しているが、CloudWatchがサーバーが100%で最大に達していると言ったとき、どちらの側をとりますか?答えは簡単です(CloudWatchは正しいですが、トップはそうではありません)[...]
このハイパーバイザーメトリックはUnix / Linuxシステムでのみ(簡単に)アクセスできるようですが、Windowsではまだ確認できないようです(まだ)。私の質問を参照してくださいUnixの「CPUスチールタイム」に相当するWindowsはありますか?この問題の詳細については。
Amazonはおそらく負荷をチェックし、TOPからのパーセンテージの使用はありません。CPUに2つのプロセスがある場合、それらは20%で利用できますが、負荷2を持つことができます。