Programaticamente, o uso 'detalhado' das CPUs, como top / htop

2

htop tem uma ótima maneira de mostrar o uso da CPU. Ele mostra a atividade (uso em%) de cada núcleo e cada medidor principal é dividido em três partes:

  • azul: processos de baixa prioridade
  • verde: processos normais
  • vermelho: processos do kernel

Estou fazendo um htop no Bash (sim!) para meus estudos e gostaria de ler esses valores de / proc (de preferência), ou de qualquer outro lugar, comandos, por exemplo.

top está exibindo as mesmas informações (como texto) quando você pressiona 1 . Eventualmente isso pode ser uma solução para ler dados de top se eu puder pressionar programaticamente 1 em cima do background-ed ...

Então: existe uma maneira simples de obter essas informações?

Se for muito complicado, leia que o uso global dos núcleos pode ser suficiente (por exemplo, cpu0: 12% ).

EDIT: Acabei de escrever este pequeno comando para obter o uso por CPU, mas sem mais detalhes (para que ele não responda perfeitamente a minha pergunta, mas se eu não conseguir encontrar uma solução, usá-lo):

ps axo psr,pcpu | awk 'END {
  for (E in a)
    print E, a[E]
    }
{ a[$1] += $2 }'

Btw, você acha que é confiável?

    
por Morgan Touverey Quilling 25.11.2014 / 22:19

1 resposta

0

Você pode analisar a média de carga (1 min, 5 min e 15 min de número médio de processos não ociosos) da saída de uptime . Observe que isso inclui processos em suspensão de disco, não apenas usuários da CPU.

    
por 19.04.2015 / 19:12

Tags