web-dev-qa-db-ja.com

ARMマルチコアコンピューターでの上位のコマンド出力を理解する

topコマンドを実行して、ブラウザの実行中に新しいRPi3のCPUパフォーマンスとメモリ使用量を確認しました。

4× ARM Cortex-A53, 1.2GHzがあるので、結果をどのように読み取る必要がありますか?

$ top

Mem: 327132K used, 620864K free, 29124K shrd, 5800K buff, 164492K cached
CPU:  80% usr   8% sys   0% nic   2% idle   0% io   0% irq   9% sirq
...
  • 80%のニックのないプロセス
  • 8%のシステムプロセス
  • 2%アイドル?

    私の理解では、80%を示している場合、4つのコアがあるので、400%のフルキャパシティーのうち80%を意味しますか?

    それは、topコマンドがidleを正しく計算しないことを意味しますか?

    各コアの使用率/アイドルを確認するにはどうすればよいですか?

私のLinux(Yocto for RPi3で構築された画像)

root@raspberrypi3:~# uname -a
Linux raspberrypi3 4.1.18 #1 SMP Thu Mar 17 10:26:07 CET 2016 armv7l GNU/Linux

root@raspberrypi3:~# lsb_release -a
LSB Version:    core-4.1-noarch:core-4.1-arm
Distributor ID: poky
Description:    Poky (Yocto Project Reference Distro) 1.8.1
Release:    1.8.1
Codename:   fido

topバージョン

root@raspberrypi3:~# top --version
top: unrecognized option '--version'
BusyBox v1.23.1 (2015-10-19 16:33:36 CEST) multi-call binary.

Usage: top [-b] [-nCOUNT] [-dSECONDS]
1
zabumba

topのバージョンによっては、CPU使用率の概要で100%を使用して、1コアの価値を意味したり、使用可能なCPUの合計を意味したりする場合があります。出力を考えると、BusyBoxバージョンのtopを使用しているようです。 100%を使用して使用可能な合計CPU時間を意味するため、CPUは完全にビジーであり、その時間の約80%を計算に、約19%をI/Oに費やしています。各プロセスのエントリは、利用可能な処理能力全体に関連する統計も提供するため、クアッドコアマシンでは、各スレッドが25%で最高になります。

Procpsのtopバージョン(非組み込みLinuxのバージョン、Raspbianなどのデフォルトバージョン)では、さまざまな規則が使用されます。グローバルCPU消費量の場合、100%はCPU全体の合計です。ただし、プロセスごとに、100%は1CPUの価値を意味します。

htop インターフェイスが改善され、CPUごとのCPU使用率が分類されます。そこに、各CPUの使用率が表示されます。個々のプロセスで、htopはprocpsバージョンのように、1つのCPUの価値を100%としてカウントします。

計算は正確ではなく、サンプリングに基づいていることに注意してください。 (正確なCPU使用率の測定を行うと、特に競合が多い場合、それ自体がかなりのCPU時間を消費します。)2%のアイドル状態と完全にビジー状態の間に意味のある違いはありません。