Existem várias maneiras de obter essas informações. O primeiro que vem à mente é usar mpstat
de um cronjob que registraria as informações em um arquivo. Um comando como este escreveria uma linha de resumo após 24 horas.
mpstat
$ mpstat 86400 1
Linux 3.12.6-200.fc19.x86_64 (greeneggs.bubba.net) 01/22/2014 _x86_64_ (4 CPU)
06:37:16 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
06:37:21 PM all 20.72 0.00 2.82 2.42 0.35 0.10 0.00 0.00 0.00 73.59
Average: all 20.72 0.00 2.82 2.42 0.35 0.10 0.00 0.00 0.00 73.59
Você pode usar vários switches para mpstat
para controlar exatamente o que aparece na saída.
sar
Com sar
, você pode ter essa execução o tempo todo em seu sistema como um serviço. Ele coletará dados de desempenho dos quais você poderá extrair relatórios posteriormente.
$ sar -f /var/log/sa/sa13 1200 -s 00:00:00 -e 23:59:59
Produzirá um relatório do uso da CPU das 00:00 (meia-noite) às 23:59:59 (final do dia) em incrementos de 20 minutos (1200 segundos = 20 minutos).
Este é apenas um exemplo do tipo de saída que irá produzir.
$ sar -u 5 2
Linux 3.12.6-200.fc19.x86_64 (greeneggs.bubba.net) 01/22/2014 _x86_64_ (4 CPU)
06:49:47 PM CPU %user %nice %system %iowait %steal %idle
06:49:52 PM all 21.44 0.00 3.08 1.16 0.00 74.32
06:49:57 PM all 21.47 0.00 3.83 3.78 0.00 70.92
Average: all 21.46 0.00 3.45 2.47 0.00 72.62
Você pode fazer muito mais com sar
, isso é apenas um exemplo.