Que trabalho com esse mrtg... descobri mais duas coisas... a primeira eh
uma peguena correcao no script novo... tinha q dividir o resultado por
1, pq senao o mrtg nao consegue interpretar numero quebrado... senao 5.8
vira 58 no grafico... ;) (OBS: essa correcao eh pro script que eu fiz,
nao pro original). Fica assim:
=======================================
#!/bin/bash
sleep 30
procs=$(ps aux | awk '{print $3}' | tr -d "%CPU")
cum=0
for a in $procs
do
cum=`echo "($cum + $a)/1" | bc`
done
echo $cum
mem=$(/bin/free|grep ^-)
/usr/bin/awk -v mem="$mem" '
BEGIN {
split(mem,memstats);
print int(100*memstats[3]/(memstats[3]+\
memstats[4]));
}'
=======================================
A segunda... eh que o processamento continuava absurdo, segundo o
mrtg... fui quebrando a cabeca... acompanhando com top... e percebi que
no momento exato da execucao do mrtg (que eh de 5 em 5 minutos, ta na
cron) o processamento eh elevado rapidamente... pra verificar isso,
direcionei a saida do script para um arquivo e deu pra ver... entao, fui
colocando alguns 'sleeps' no script... pra ele pegar o resultado real...
e acabou dando certo assim... meio nas coxa, mas funciona :) Por isso o
'sleep 30' esta la no script...
Bom... mas pra mim... tudo isso eh gambiarra. Se alguem achar a solucao
correta, please, compartilha :)
[]'s a todos novamente,
Andre Aun
icq #92962556
On Mon, 2002-09-09 at 03:51, Andre Aun wrote:
> Galera,
>
> Postei um problema para a lista que era o seguinte: instalei o mrtg pra
> monitorar algumas coisas na minha maquina como: link, cpu, memoria,
> etc... com a memoria e o link parecia tudo normal, mas quando vi a
> utilizacao de cpu... o tempo todo em 60, 70%... nao entendi. Fui dar uma
> verificada no script (que eu usei do linux.trix.net) e nao deu pra saber
> muita coisa, pq ele usava os dados real time direto do /proc/stat.
> Entendi o script, mas nao entendi direito como funciona o stat... dei
> uma pesquisada e olhem soh:
>
> $ cat /proc/stat | grep '^cpu'
>
> cpu 74215 0 5988 501513
> cpu0 74215 0 5988 501513
>
> Bom... me corrijam onde eu estiver errando: se a maquina tiver um
> processador soh... o valor de cpu0 vai ser sempre igual ao da cpu...
>
> E interpretando:
>
> 1a coluna = user
> 2a coluna = nice
> 3a coluna = system
> 4a coluna = idle
>
> Entao, teoricamente... somando as 3 primeiras e subtraindo da 4a,
> teriamos a utilizacao da cpu, ou nao?
>
> Bom... pra testar algumas coisas na minha maquina... rodei um script em
> perl pra subir o processamento pra 100%... e fui acompanhando o
> /proc/stat... e parece que os valores vao aumentando... mas muito
> devagar!!! E depois quando o processamento volta ao normal, os valores
> permanecem la em cima... Alguem conhece do assunto pra me explicar onde
> que eu to vacilando? Please.. ;)
>
> Bom... e pra quem interessar, ou tiver o mesmo problema... eu fiz um
> script quebra galho pra resolver isso temporariamente, usando os dados
> do ps. A parte pra monitorar a memoria continua igual ao script
> original:
>
> ====================================================
>
> #!/bin/bash
>
> procs=$(ps aux | awk '{print $3}' | tr -d "%CPU")
> cum=0
> for a in $procs
> do
> cum=`echo $cum + $a | bc`
> done
>
> echo $cum
>
> mem=$(/bin/free|grep ^-)
> /usr/bin/awk -v mem="$mem" '
> BEGIN {
> split(mem,memstats);
> print int(100*memstats[3]/(memstats[3]+\
> memstats[4]));
> }'
>
> ====================================================
>
> Pra quem quiser saber como eh o script original:
>
> ====================================================
>
> #!/bin/sh
> mem=$(/bin/free|grep ^-)
> cpu=$(grep '^cpu ' /proc/stat)
> /usr/bin/awk -v cpu="$cpu" -v mem="$mem" '
> BEGIN {
> split(cpu,cpustats)
> print 100-int(100*cpustats[4]/(cpustats[1]+\
> cpustats[2]+cpustats[3]+cpustats[4]))
> split(mem,memstats);
> print int(100*memstats[3]/(memstats[3]+\
> memstats[4]));
> }'
>
>
> ====================================================
>
> Bom, eh isso ai... se alguem puder me ajudar, ficarei muito agradecido
> =]
>
> []'s a todos!
>
> Andre Aun
> icq #62962556
>
Assinantes em 09/09/2002: 2238
Mensagens recebidas desde 07/01/1999: 182271
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]