[PSL-Brasil] Software Bilhetagem de Processamento em Plataforma Baixa (Linux e Windows)

Julio C. Neves julio.neves em gmail.com
Sexta Fevereiro 8 21:53:42 BRST 2013


Fala Heitor,
acho que vc deve resolver isso com um ps -eo xxx.
Esse xxx pode ser substituído por um monte de parâmetros de cpu.

Para escolher o parâmetro que vc quer, faça man ps e lá dentro faça:
/cpu
e ande para a frente com a tecla n.

esse formato (-eo) significa:
e=Tudo (every)
o=user-defined format

E tem muitas opções para esse -o. Vou botar um pedaço de uma saída (que
acho que é o parâmetro que vc quer) como exemplo:
$ ps -eo cputime | tail -n+2 | head -8
00:00:03
00:22:20
00:00:26
01:37:22
00:00:00
00:00:00
00:00:00
00:00:00
O head foi para pegar as 8 primeiras linhas sem o cabeçalho, que foi tirado
pelo tail -c+2.
A seguir a mágica do Shell.
$ ps -eo cputime | tail -n+2 | head -8 | sed -r 's/(..):(..):(..)/\1 * 3600
+ \2 * 60 + \3/'
00 * 3600 + 00 * 60 + 00
00 * 3600 + 00 * 60 + 00
00 * 3600 + 00 * 60 + 04
00 * 3600 + 22 * 60 + 22
00 * 3600 + 00 * 60 + 32
01 * 3600 + 37 * 60 + 39
00 * 3600 + 00 * 60 + 00
00 * 3600 + 00 * 60 + 00

Pronto! Já armei a conversão de todos para segundos. Agora é só mandar para
a super calculadora bc.

$ ps -eo cputime | tail -n+2 | head -8 | sed -r 's/(..):(..):(..)/\1 * 3600
+ \2 * 60 + \3/' | bc
0
0
4
1343
33
5861
0
0

Agora temos a duração de cada processo em segundos. Para fazer  o tempo
total, vamos somar esses caras. Vamos passo-a-passo:

$ ps -eo cputime | tail -n+2 | head -8 | sed -r 's/(..):(..):(..)/\1 * 3600
+ \2 * 60 + \3/' | bc | paste -sd+
0+0+4+1343+33+5864+0+0

Pronto, novamente e atente: *na mesma linha*, vamos usar a super
calculadora:

$ ps -eo cputime | tail -n+2 | head -8 | sed -r 's/(..):(..):(..)/\1 * 3600
+ \2 * 60 + \3/' | bc | paste -sd+ | bc
7246

Ou seja, feito em uma única linha. Espero que seja isso que vc quer.

Abcs,
Julio
A partir de  01/04  lecionarei um
curso completo de Shell em Recife
Clique aqui <http://www.fuctura.com.br/cursos/curso-de-shell-scripts/>
para mais  detalhes.
@juliobash




Em 8 de fevereiro de 2013 14:27, Heitor Faria <heitor em bacula.com.br>escreveu:

> Caros,
>
> Por acaso alguém conhece ferramenta que possibilite quantificar de maneira
> contínua a quantidade de processamento realizado por CPU em plataforma
> baixa?
>
> Abraços,
>
> Heitor Faria
>
> _______________________________________________
> psl-brasil mailing list
> psl-brasil em listas.softwarelivre.org
> http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/psl-brasil
> Regras da lista:
> http://wiki.softwarelivre.org/bin/view/PSLBrasil/RegrasDaListaPSLBrasil
> SAIR DA LISTA ou trocar a senha:
> http://listas.softwarelivre.org/mailman/options/psl-brasil
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.softwarelivre.org/pipermail/psl-brasil/attachments/20130208/12c5b82d/attachment-0001.html>


More information about the psl-brasil mailing list