この質問は古いですが、私の意見では答えは正しくありません。 ps と top は、異なる方法を使用して CPU 使用率を計算します。
マントップから:
<ブロック引用> <オール>マンpsから:
<ブロック引用>現在、CPU 使用率は、プロセスの存続期間全体で実行に費やされた時間のパーセンテージとして表されます .
たとえば、1 週間前に開始されたプロセスがあり、その間に CPU 時間の平均 2.2% を使用したとします。突然 CPU を集中的に使用するようになった場合 (常に 100% を消費)、ps を見ると、最初の数時間は同じ 2.2% であることがわかります。
最も可能性の高い理由は top
です 単一のパーセンテージとしてパーセンテージ値を表示します CPU while ps
利用可能な合計 CPU パワーのパーセンテージを示します。 top を実行して Shift を押してみてください 私 実行中は、すべてのコアのパーセンテージを表示します。
これが多数の CPU を備えたサーバー クラスターである場合、説明した内容は正常な動作です。こちらもご覧ください。