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 使用率を確認する