負荷を測定中 - top の %CPU が %us と異なります

負荷を測定中 - top の %CPU が %us と異なります

リモート サーバーで TOP を実行すると、システム使用率は非常に低くなります (3.8%us)。ただし、実際のプロセスでは CPU の 29.6% が使用されています。

このサーバーには 8 つの CPU コアがあるため、%CPU は 1 つの CPU のみの使用率で、us上部は 8 つの CPU を超えているのでしょうか?

29.6 を 8 で割ると 3.7 になり、私の推測が正しいことが証明されたようです。それでは質問です:

  • 私が見ている低い使用率は、実際には 8 個以上の CPU ですが、%CPU はプロセスが使用している CPU のものですか?
  • 複数の CPU を使用しているプロセスの場合はどうなりますか?
  • Tomcat は必要に応じて複数の CPU を使用しますか? または、負荷が増加すると Tomcat がクラッシュしますが、高負荷が通知されることはありません。

トップ出力

    top - 12:17:40 up 9 days, 21:51,  2 users,  load average: 0.32, 0.28, 0.27
    Tasks: 201 total,   2 running, 199 sleeping,   0 stopped,   0 zombie
    Cpu(s):  3.8%us,  0.1%sy,  0.0%ni, 96.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:  16229072k total,  5617572k used, 10611500k free,   156480k buffers
    Swap:  8388588k total,        0k used,  8388588k free,  2632452k cached

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    32676 tomcat    20   0 12.4g 2.3g  10m S 29.6 14.6   2530:56 java

私は次のような情報源を確認しましたhttp://www.kernelhardware.org/linux-top-command/%usですが、とを区別しているものは一つもありません%CPU

次のような曖昧な情報のみ:%CPU – Percentage of CPU used

答え1

に表示される CPU の割合は、topすべての CPU を合わせたものです。CPU ごとの統計を表示するには、 の実行中1にを押します。top

一方、プロセス リストのパーセンテージは単一の CPU コアのパーセンテージであるため、100% を超える場合があります。

関連情報