Comando para retornar apenas o valor da carga atual do servidor?

2

Eu sei que você pode obter a carga do servidor nos últimos 1, 5 e 15 minutos usando comandos como "w". No entanto, gostaria de recuperar automaticamente um desses valores por meio de um cron job para que eu possa anotá-lo em um banco de dados e fazer algumas análises e observar as tendências. Então ... Eu preciso de um comando que produza JUST a carga do servidor para que ele possa ser simplesmente tratado como um número para uso no meu script. Alguém pode me dar um comando que irá analisar a saída de um comando como "w" e retornar apenas o valor de carga do servidor? Eu adoraria ter variações que retornem as médias de 5 e 15 minutos também. Obrigado!

    
por DivideByHero 15.08.2009 / 00:49

3 respostas

4

Cada um deles, médias de carga de 1, 5 e 15 minutos:

cut -f1 -d' ' /proc/loadavg
cut -f2 -d' ' /proc/loadavg
cut -f3 -d' ' /proc/loadavg
    
por 15.08.2009 / 02:21
1

Algo parecido com isto:

CpuLoadAverage='uptime | awk 'BEGIN { FS=" |, " } { print $11 }''
echo $CpuLoadAverage

por 5 e 15 minutos, basta substituir $ 11 por $ 12 ou $ 13.

    
por 15.08.2009 / 01:05
0

Tente isto:

uptime | perl -e 'while (<>) { m/average:\s(\d.\d+),\s(\d.\d+),\s(\d.\d+)/; print $1; }'

para a média de 1 minuto ou substitua $1 por $2 ou $3 para as médias de 5 ou 15 minutos respectivamente.

    
por 15.08.2009 / 01:03