AIX 7.2 Topasは、CPUが高すぎると表示します。

AIX 7.2 Topasは、CPUが高すぎると表示します。

プロセスを実行すると、topasCPU%列に43%が表示され、次に85%にジャンプします。

私が実行したとき:

"ps aux | grep processName"  

同じプロセスは5%です。

何がより正確ですか?また、Linux "watch"コマンドと同様のループを作成し、%5にあることを確認しました。

topasとpsの違いは何で、誰が正しいのですか?

出力ps

[ttfai231:root]/root>ps aux | head -1; ps aux | sort -rn +2 | head -10
USER          PID %CPU %MEM   SZ  RSS    TTY STAT    STIME  TIME COMMAND
root      9306548  8.6  1.0 12880 12880      - A    13:35:33 41:20 MYDAEMON
root      1048868  2.0  0.0  448  448      - A    13:22:36 11:50 wait

トパス: ここに画像の説明を入力してください。

答え1

私はこれが各フィールドがどのように計算されるかという違いだと思います。このtopasフィールドの場合:

CPU使用率%

プロセスの平均プロセッサ使用量監視間隔。プロセスが最初に表示されるとき、この値はプロセス寿命中の平均プロセッサ使用量です。

...そしてpsフィールドは次のとおりです。

%CPU

(u フラグと v フラグ) プロセスが CPU を使用した時間率そのプロセスが始まってから。この値は、プロセスがCPUを使用した時間をプロセスが費やした時間で割ることによって計算されます。マルチプロセッサ環境では、同じプロセス内の複数のスレッドを異なるCPUで同時に実行できるため、この値は使用可能なCPUの数でさらに分割されます。 (このデータを計算する時間基準が異なるため、すべての%CPUフィールドの合計が100%を超える可能性があります。)

違いを強調する説明部分を太字で表示しました。

CPU topas%の値は、プロセスがより多くまたはより少ないCPU時間を使用するにつれて変動するため、最新の(おそらく短い)時間間隔中のCPU使用率を示します。 % psCPU 値は、常にプロセス値の存続期間の平均を表示します。

関連情報