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

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

Consumo de CPU


From: fernando_gottlieb
Subject: Consumo de CPU
Date: Tue, 26 Aug 2008 16:01:06 -0000
User-agent: eGroups-EW/0.82

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




reply via email to

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