shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Consumo de CPU


From: Raul Libório
Subject: Re: [shell-script] Consumo de CPU
Date: Tue, 26 Aug 2008 15:18:53 -0300

O mpstat encontrei instalado, nao sei se é por causa do SO que tem o
kernel já customizado ( um EOS do BRMA ).
--

Raul Libório
UniJorge Redes - www.redesfja.com
rauhmarutsªhotmailºcom
Linux user#4444581

Dúvidas: enviar para /dev/null



2008/8/26 jimmy <address@hidden>:
> __________________________________________________________
>
> usando mais ou menos o seu script fiz um assim:
>
> var=$(top -b -d 0.5 -n2 | grep -o "Cpu(s):.*%sy" | tail -1)
> var=(${var})
> user=${var[1]/\%us,/}
> sys=${var[2]/\%sy/}
> total=$(bc <<< "$user + $sys")
> echo '#cpu = '$total
>
> também não conheço uma forma boa de extrair essa informação usando apenas os
> recursos do sistema
>
> __________________________________________________________
>
> On Tue, Aug 26, 2008 at 04:01:06PM -0000, fernando_gottlieb wrote:
>> Olá pessoal.
>> Estive procurando uma maneira de obter o consumo de CPU e esbarrei em
>> características do top, a primeira leitura é sempre a mesma.
>> Continuando a procura por outra forma de obter este resultado,
>> encontrei vários trechos de códigos mas nenhum conclusivo.
>> Depois de algumas tentativas, consegui o que segue abaixo.
>> Espero que ajude alguém.
>> Gostaria, se possivel, de pedir sugestões para otimizá-lo.
>> Segue o código:
>>
>> ### Escreve dados sobre uso do processador
>> # Obtem duas leituras do comando top (top -b -d 0.5 -n2)
>> # Separa apenas as linhas onde aparece o uso da cpu (| grep 'Cpu(s)')
>> # Retira as strings contidas no inicio do texto contando dois espacos
>> (| cut -f2- -d ' ')
>> # Separa os dois primeiros parametros cortando os primeiros 18
>> caracteres (| cut -c1-18)
>> # Substitui as strings %, u, s e y por espacos, deixando apenas as
>> virugulas (| tr '%usy' ' ')
>> var=$(top -b -d 0.5 -n2 | grep 'Cpu(s)' | cut -f2- -d ' ' | cut -c1-18
>> | tr '%usy' ' ')
>> # Obtem o dado anterior a terceira virgula = user
>> user=$(echo $var | cut -d, -f3)
>> # Obtem o dado anterior a quarda virgula = sys
>> sys=$(echo $var | cut -d, -f4)
>> # Depois de obter o uso de cpu para usuario (%us = $user) e sistema
>> (%sy = $sys)
>> # faz a soma das variaveis usando bc (basic calculator) retirando o
>> numero sem o ponto
>> total=$(echo "$user + $sys" | bc | cut -d. -f1)
>> echo '#cpu = '$total
>>
>> Abraços
>>
>> Fernando
>>
>>
>>
>> ------------------------------------
>>
>> ----------------------------------------------------------
>> Esta lista não admite a abordagem de outras liguagens de programação, como
>> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
>> aviso.
>> ----------------------------------------------------------
>> Sair da lista: address@hidden
>> ----------------------------------------------------------
>> Esta lista é moderada de acordo com o previsto em
>> http://www.listas-discussao.cjb.net
>> ----------------------------------------------------------
>> Servidor Newsgroup da lista: news.gmane.org
>> Grupo: gmane.org.user-groups.programming.shell.brazil
>>
>> Links do Yahoo! Grupos
>>
> __________________________________________________________
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]