AWS T2.Medium EC2 の CPU 使用率が常に 27% なのに、top コマンドを実行すると 100% と表示されるのはなぜですか?

AWS T2.Medium EC2 の CPU 使用率が常に 27% なのに、top コマンドを実行すると 100% と表示されるのはなぜですか?

私は、Laravel Forge を介して AWS EC2 インスタンス (T2.Medium、2 コア) で PHP Laravel アプリケーションを実行しています。5 か月間連続して、AWS コンソール グラフで CPU 使用率が 27% で一定であることが確認されています。そこで、「top」コマンドを実行して確認しようとしたところ、CPU が 100% であることが確認されました。

だから私は理解したいのです:

1. What is my actual CPU utilization out of the 2 cores of T2.medium?
2. In the top command result, forge is utilizing 100% CPU, what is the best way to track what cause the high CPU so that I can lower the CPU utilization.

この EC2 インスタンスはアプリケーション サーバーであることに注意してください。データベースには別のインスタンスを使用します。CPU 使用率は高くありません。

AWS CPU 使用率グラフ TOPコマンドの結果 CPUクレジット使用量 CPUクレジット残高

答え1

top%CPUをパーセンテージで表示しますシングルコア。そのため、100 を超える数値が表示されることcat /proc/cpuinfoがあります。実行すると、使用可能な各コアのエントリが表示されます。したがって、CPU 列の 100% は、コア全体を使用していることを意味します。インスタンスに 4 つのコア (またはハイパースレッディングで 2 つのコア) がある場合は、合計で 25% になります。

htop視覚化と表示が優れていると思うので、使用しています。

関連情報