Entendendo a saída do comando superior em um computador multicore ARM

1

Execute o comando top para verificar o desempenho da CPU e o uso de memória no novo RPi3 durante a execução de um navegador.

Como temos um 4× ARM Cortex-A53, 1.2GHz , como devo ler o resultado?

$ 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% de processos não especializados:
  • 8% de processos do sistema
  • 2% inativo?

    Meu entendimento é que, quando ele mostra 80%, isso significa 80% de 400% da capacidade total, já que temos 4 núcleos, certo?

    Isso significa que o comando top não calcula corretamente o idle ?

    Como faço para verificar o% usage / idle para cada núcleo?

Meu Linux (imagem construída com o 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 versão

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]
    
por zabumba 22.03.2016 / 00:26

1 resposta

1

Dependendo da versão de top , o resumo de uso da CPU pode usar 100% para significar o valor de um núcleo ou significar o total de CPU disponível. Dada a sua saída, parece que você está usando a versão BusyBox de top ; ele usa 100% para significar o tempo total disponível da CPU, então sua CPU está totalmente ocupada, gastando cerca de 80% do seu tempo em cálculos e cerca de 19% em E / S. A entrada para cada processo também fornece estatísticas relativas a todo o poder de processamento disponível, portanto, em uma máquina quadcore, cada encadeamento chega a 25%.

A versão top do procps (a versão no Linux não embarcado, também a versão padrão do Raspbian, por exemplo) usa diferentes convenções: para o consumo global da CPU, 100% é o total da CPU; mas para cada processo, 100% significa o valor de uma CPU.

O

htop tem uma interface melhor e quebra o uso da CPU por CPU. Lá você veria a utilização de cada CPU. Em processos individuais, o htop conta o valor de uma CPU como 100%, como a versão procps.

Tenha em mente que os cálculos não são exatos, eles são baseados em amostragem. (Tomar medições precisas de utilização da CPU, por si só, levaria um tempo significativo da CPU, especialmente em casos de alta contenção.) Não há uma diferença significativa entre 2% de ociosidade e totalmente ocupado.

    
por 22.03.2016 / 02:48