script para verificar a utilização da cpu no linux

0

Eu quero um script bash que mostre o consumo de CPU a cada minuto e salve-o em um arquivo.

A saída seria assim:

11/09/2015 10:00: CPU: 60%
11/09/2015 10:01: CPU: 72%
11/09/2015 10:02: CPU: 32%

E assim por diante ... Alguém pode me ajudar?

Eu posso fazer isso com # sar > > Result.txt, mas mostra o resultado a cada 15 minutos, em vez de a cada minuto. Alguém sabe como consertar isso?

    
por lucia 11.09.2015 / 09:38

1 resposta

4

Coloque isso em um script bash em algum lugar do seu sistema (/ opt por exemplo):

#!/bin/bash

CPU_USAGE=$(top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f%%\n", prefix, 100 - v }')

DATE=$(date "+%Y-%m-%d %H:%M:")

CPU_USAGE="$DATE CPU: $CPU_USAGE"

echo $CPU_USAGE >> /opt/cpu_usage.out

Em seguida, crie um arquivo chamado cpu_usage em /etc/cron.d/ com o seguinte em:

*/1 * * * * root /opt/your_script.sh

Isso deve executar o script uma vez por minuto e exibir o uso da CPU em um formato de porcentagem em uma nova linha dentro do arquivo especificado.

    
por 11.09.2015 / 10:19