web-dev-qa-db-ja.com

htopの読み方

Linuxのtopコマンドの一般的な代替品であるhtopによって表示される情報を理解するのに問題があります。

htop screen dump

上記のスクリーンショットには、多くのJavaインスタンスがリストされていますが、CPU時間を使用するのは親インスタンスのみです。その他は何ですか?

CPU%列にすべてのプロセスであまり発生していないことが示されているのに、CPU使用率バーにこのようなビジーコアが表示されるのはなぜですか?実際、ほとんどの場合、相関関係なしで移動します。

右上の負荷平均が3ステップの履歴であると想定しているのに、コアがほとんど常に緑色でビジーに見えるのに、なぜこれほど低いのですか?

誰かがこの情報の読み方をとても親切に説明してくれるでしょうか?

ありがとうございました!

9
Luke Puplett
  1. 「負荷」とCPU%に関して、 wikipedia には詳細な説明と例があり、以下は部分的な引用です

    アイドル状態のコンピューターのロード番号は0で、CPU(レディキューまたは実行キュー)を使用または待機している各プロセスは、ロード数を1ずつ増やします。ほとんどのUNIXシステムは、実行中(CPU上)または実行可能(待機中)のプロセスのみをカウントします。 CPU)の状態。ただし、Linuxには、中断できないスリープ状態(通常はディスクアクティビティを待機している)のプロセスも含まれているため、I/Oシステムがビジーまたはストールしているために多くのプロセスがI/Oでブロックされたままの場合、結果が著しく異なる可能性があります。これには、たとえば、NFSサーバーの障害やメディア(USB 1.xストレージデバイスなど)の速度低下によるプロセスのブロックが含まれます。このような状況では、負荷平均が高くなる可能性があります。これは、CPU使用率の実際の増加を反映していません(ただし、ユーザーが待機する必要がある時間についてはわかります)。

    システムは、負荷平均を、負荷数の指数関数的に減衰/加重された移動平均として計算します。負荷平均の3つの値は、過去1分、5分、および15分のシステム操作を示します。

    CPUバウンドのシングルCPUシステムの場合、負荷平均は、それぞれの期間中のシステム使用率のパーセンテージと考えることができます。複数のCPUを搭載したシステムの場合、同等のパーセンテージを得るには、その数をプロセッサの数で割る必要があります。

    バーは移動で忙しいかもしれませんが、100%に達することはありません。これは、cpu/coreが完全に使用されていることを示します。このバーは、27%、26.5%、24.5%、24.7%、および71.7%のCPU使用率%を視覚化したものにすぎません。すべてのcpuコアには、「スペア」する能力があります。それらはすべてその時点で十分に活用されていません。

    十分に活用された5コア/ CPUシステムの負荷は5以上になります。

  2. Java行に関しては、親(PID = 5073)と子プロセスです。親が最も多くのCPU時間を蓄積する理由を説明できません。これは、プログラムの内部ロジックに依存します。ただし、 、TIME +によると、これらの子プロセスはCPU時間を消費し、最後のプロセス(PID = 5074)が最も多く蓄積されました。

5
John Siu