Eu acho que a pergunta é: eu poderia de alguma forma calcular a porcentagem de utilização da CPU apenas lendo o / proc / stat uma vez?
# head -1 /proc/stat
cpu 67891300 39035 6949171 2849641614 118251644 365498 2341854 0
Estou pensando em resumir as colunas, exceto o IOWait (eu estava lendo em algum lugar que é contado no modo inativo) e isso me daria 100% e cada coluna individual poderia ser transformada em porcentagem por (column / 100_percent) * 100.
- usuário: processos normais em execução no modo de usuário
- nice: niced processos em execução no modo de usuário
- system: processos em execução no modo kernel
- inativo: polegares giratórios
- iowait: aguardando a conclusão da E / S
- irq: interrupções de manutenção
- softirq: serviços softirqs
- roubar: espera involuntária
- guest: executando um convidado normal
- guest_nice: executando um convidado niced
Esta é uma abordagem viável ou estou totalmente fora da pista?