なぜ「top」コマンドは、CPU が 1 つしかない Linux サーバーに対して 2 つの異なる値を表示するのでしょうか。マルチコア プロセッサがある場合は異なる可能性があることは理解していますが、この場合は CPU が 1 つしかない AWS LightSail $5 インスタンスを使用しています512 MB RAM, 1 vCPU, 20 GB SSD
。
Amazon コンソールでは、CPU 使用率が 10% を超えていないことが示されていますが、アプリケーションはダウンしています。使用率を確認すると、使用率がほぼ 100% であることがわかりました。
なぜこのようなことが起こるのでしょうか? VM 使用率のパーセンテージを測定するにはどの値を考慮すべきでしょうか?
答え1
ライン内 %Cpu(s)上CPU 使用率をカテゴリに分割します。
us, user : time running un-niced user processes
sy, system : time running kernel processes
ni, nice : time running niced user processes
id, idle : time spent in the kernel idle handler
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor
使用されている CPU は、これらすべての値を合計したものになります。つまり、この場合は次のようになります。
7.3 + 0.0 + 0.0 + 4.3 + 0.0 + 0.0 + 88.3 =99,9
Amazon LightSailでは、この他の回答で説明されているように「LightSail では、vCPU のパワーを常にすべて使用できるわけではないため、上限が設けられています。」
私の意見では、それはそれほど明白ではなく、CPUの合計値があるはずです上しかし残念ながら、そうではありません。
「htop」という別のプログラム(サーバーにインストール)を使用することもできます。このプログラムでは、たとえばコアごとの CPU の合計使用率など、よりわかりやすい情報が表示されます。
次のようになります:
答え2
スクリーンショットの 3 行目の最後を見ると、CPU 時間の 88.3% がホスト マシンによって「盗まれている」ことがわかります。これは、アプリケーションが短時間のアクティビティよりも多くの CPU 時間を使用していることが原因である可能性があります。LightSail では、vCPU のパワーを常にすべて使用することは許可されないため、上限が設けられています。アプリケーションは、残りの 94.4% を使用しています。
上位解釈のソース:https://linuxaria.com/howto/understanding-the-top-command-on-li LightSail リソースの使用状況のソース:よくある質問