[Python-es] gráfico en barras en tiempo real
Arnau Sanchez
arnau en ehas.org
Mie Sep 26 17:15:50 CEST 2007
Maria Eugenia Ferrero escribió:
> import gdchart
> import sys, os
> datos = map(int, str(os.system('top -b | grep Mem')))
> x = gdchart.Bar3D()
> x.setData(datos)
> x.draw("memoria.png")
>
> La idea es que el gráfico debe ir cambiando en tiempo real conjuntamente con
> los datos, pero sólo logro que se actualicen los datos y al final me muestre
> la gráfica.
Es que "top -b" no acaba nunca, tendrías que añadir el parámetro "-n1"
para que te dé sólo una actualización.
Por otra parte, ¿te funciona esa línea en que pasas los valores a
entero? puesto que la salida de top es ésta:
Mem: 508404k total, 489340k used, 19064k free, 632k buffers
antes tendrías que extraer el campo o campos que te interesen...
A todo esto, ¿no te iría mejor el comando "free"?
Por otra parte, ir llamando a un proceso externo de forma continua es
caro. ¿No te sirve la información de /proc/meminfo?
Cuidado que la memoria del sistema incluye también la swap, no sólo la
memoria física.
arnau
Más información sobre la lista de distribución Python-es