[pyar] Memory Profiling
Javier Marcon
javiermarcon en gmail.com
Jue Jun 12 16:40:18 ART 2014
El 12/06/14 12:12, claudio canepa escribió:
>
>
>
> 2014-06-12 10:53 GMT-03:00 Nicolas Rebagliati
> <nicolas.rebagliati en aenima-x.com.ar
> <mailto:nicolas.rebagliati en aenima-x.com.ar>>:
>
> Hola, estoy teniendo problemas de consumo de memoria con algo.
> Pero cuando quiere hacer un profiling veo que todos los ejemplos
> son muy atómicos, o de funciones muy simples.
> Esto es algo que va consumiendo memoria a los largo del tiempo y
> no lo puedo probar atomicamente.
> Basicamente lo que hace es leer trafico de red analizarlo y
> guardarlo en un base de datos, pero evidentemente tengo algún leak
> en algún lado porque al pasar unas horas se come tooda la ram del
> servidor.
>
> Se les ocurre como puedo encararlo para encontrar el leak?
> Gracias
>
>
> En un caso simple [0] me sirvió objgraph [1].
>
> En ésta ultima página mencionan otras dos libs para lidiar con memory
> leaks: heapy, Dozer, ambas en pypi. No las use asi que no puedo
> comentar sobre ellas.
>
>
>
> [0]
> http://progcc.blogspot.com.ar/2011/10/investigando-un-memory-leak-en-cocos.html
>
> [1] http://mg.pov.lt/objgraph/
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
Gracias por la info, yo estoy tratando de encontrar por que se cuelga
una apliciación hecha en python (2.7) que corre un loop infinito que
trae datos de internet, y a la funcion que genera el loop (que esta en
la clase clase_bajar y hay otra clase que la llama cada cierto tiempo)
le puse:
import objgraph
import inspect, random
class clase_bajar:
def download(self):
# aca hago toda la bajada
print self._debugcount
if self._debugcount == 0 or self._debugcount == 20:
objgraph.show_growth(limit=20)
if self._debugcount == 20:
objgraph.show_chain(
objgraph.find_backref_chain(
random.choice(objgraph.by_type('clase_bajar')),
inspect.ismodule),
filename='chain.png')
self._debugcount += 1
El tema es que al correrlo cuando tendría que grabar chain.png, me tira
este error:
Traceback (most recent call last):
File "C:\Users\Administrador\Desktop\clase_bajar.py", line 116, in
download
random.choice(objgraph.by_type('clase_bajar')),
File "C:\Python27\lib\random.py", line 274, in choice
return seq[int(self.random() * len(seq))] # raises IndexError if
seq is empty
IndexError: list index out of range
A alguien le paso esto?
Gracias,
Javier.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140612/65a14804/attachment.html>
More information about the pyar
mailing list