De alguna manera la memoria de mi programa Python toma más y más memoria a medida que se ejecuta (la VIRTURA y RES) la columna del comando "superior" sigue aumentando.¿La memoria de Python pierde el seguimiento?
Sin embargo, revisé mi código con mucha atención y estoy seguro de que no hay pérdidas de memoria (no usé ningún diccionario, no hay variables globales. Es solo un método principal para llamar a un método secundario varias veces))
que utilizan heapy al perfil de mi uso de la memoria por
from guppy import hpy;
heap = hpy();
.....
print heap.heap();
cada vez que el principal método llama al método sub. Sorprendentemente, siempre da el mismo resultado. Pero el uso de la memoria simplemente sigue creciendo.
Me pregunto si no he usado Heapy, o VIRT y RES en el comando "superior" no reflejan realmente la memoria que usa mi código.
¿O alguien puede proporcionar una mejor manera de rastrear el uso de la memoria en una secuencia de comandos de Python?
¡Muchas gracias!
Parece que el submétodo está goteando. Suponiendo que tiene acceso a su código, intente con [sys.getsizeof (object) or else pysizer] (http://stackoverflow.com/questions/449560/how-do-i-determine-the-size-of-an-object -in-python) para medir objetos dentro del submetodo. – smci