GNU/Linux >> Linux の 問題 >  >> Linux

ps と top は異なる CPU 使用率を示します

この質問は古いですが、私の意見では答えは正しくありません。 ps と top は、異なる方法を使用して CPU 使用率を計算します。

マントップから:

<ブロック引用> <オール>
  • %CPU -- CPU 使用率前回の画面更新以降の CPU 時間のタスクの割合 、合計 CPU 時間のパーセンテージとして表されます。
  • マンpsから:

    <ブロック引用>

    現在、CPU 使用率は、プロセスの存続期間全体で実行に費やされた時間のパーセンテージとして表されます .

    たとえば、1 週間前に開始されたプロセスがあり、その間に CPU 時間の平均 2.2% を使用したとします。突然 CPU を集中的に使用するようになった場合 (常に 100% を消費)、ps を見ると、最初の数時間は同じ 2.2% であることがわかります。


    最も可能性の高い理由は top です 単一のパーセンテージとしてパーセンテージ値を表示します CPU while ps 利用可能な合計 CPU パワーのパーセンテージを示します。 top を実行して Shift を押してみてください 実行中は、すべてのコアのパーセンテージを表示します。

    これが多数の CPU を備えたサーバー クラスターである場合、説明した内容は正常な動作です。こちらもご覧ください。


    Linux
    1. メモリとCPUの使用量で実行中のプロセスのトップ10を探す

    2. WindowsServerでの高いCPU使用率のトラブルシューティング

    3. シェルスクリプトでCPU使用率を取得しますか?

    1. Linuxで単一プロセスのCPU使用率とメモリ使用率を取得しますか?

    2. CPU使用率を取得する方法

    3. Linuxでパーセンテージで指定されたCPU使用率の正確な計算?

    1. Linuxでのシェルコマンドのさまざまな分類とその使用法を理解する

    2. Linux で top によって報告される CPU 使用率が 100% を超えるのはなぜですか?

    3. Linux :最後の 1 秒間のプロセスによる CPU 使用率を確認する