Articles of gestión de memoria

Pandas GroupBy memoria desasignación

Problema Noté que la memoria asignada durante la iteración a través de un objeto Pandas GroupBy no se desasigna después de la iteración. Uso resource.getrusage(resource.RUSAGE_SELF).ru_maxrss ( segunda respuesta en esta publicación para obtener detalles ) para medir la cantidad total de memoria activa utilizada por el proceso de Python. import resource import gc import pandas […]

¿Cómo comer memoria usando Python?

Solo para experimentación y Diversión … Estoy tratando de crear una aplicación que pueda “A propósito” consumir RAM tanto como lo especifiquemos de inmediato. Por ejemplo, quiero consumir 512 MB de RAM, entonces la aplicación consumirá 512 MB directamente. He buscado en la web, la mayoría de ellos están utilizando el bucle while para llenar […]

Python matplotlib: la memoria no se libera al especificar el tamaño de la figura

Estoy usando matplotlib para generar muchas gráficas de los resultados de una simulación numérica. Las gráficas se usan como cuadros en un video, por lo que estoy generando muchas de ellas llamando repetidamente a una función similar a esta: from pylab import * def plot_density(filename,i,t,psi_Na): figure(figsize=(8,6)) imshow(abs(psi_Na)**2,origin = ‘lower’) savefig(filename + ‘_%04d.png’%i) clf() El problema […]

problema de memoria insuficiente al instalar paquetes en el servidor Ubuntu

Estoy usando un servidor en la nube de Ubuntu con 512 MB de RAM y 20 GB de disco duro. Sus 450MB + RAM ya son utilizados por los procesos. Necesito instalar un nuevo paquete llamado lxml que se cumple con Cpython durante la instalación y es un proceso muy pesado, por lo que siempre […]

Caché inteligente de objetos caros en Python

Tengo un directorio de imágenes en orden. Por lo general, mi código utilizará datos de un subconjunto secuencial de imágenes (por ejemplo, imágenes 5-10), y las opciones ingenuas para acceder a estas son: Cree un objeto contenedor con un método que cargue la imagen cuando sea necesario y lea mis datos (por ejemplo, un valor […]

Grupo de objetos bajo restricciones de memoria

Utilizamos una serie de objetos grandes. Idealmente, nos gustaría que todos estuvieran disponibles permanentemente para el código del cliente, pero no caben en la memoria física de una sola vez. Entonces, cuando nos acerquemos a los límites de la memoria, necesitaremos destruir algunos de los objetos en el grupo (probablemente, destruiremos el objeto menos usado […]

Fugas de memoria de Python?

Estoy escribiendo una extensión de python que parece estar perdiendo memoria. Estoy tratando de averiguar el origen del problema usando valgrind. Sin embargo, parece que Python está perdiendo memoria de acuerdo con valgrind. Usando el siguiente script simple: hola.py print “Hello World!” y haciendo > valgrind –tool=memcheck python ./hello.py (…) ==7937== ERROR SUMMARY: 580 errors […]

Pérdida de memoria en Python Twisted: ¿dónde está?

Tengo un servidor Twisted bajo carga. Cuando el servidor está bajo carga, el uso de la memoria aumenta y nunca se reclama (incluso cuando no hay más clientes). La próxima vez que se cargue, el uso de la memoria aumenta nuevamente. Aquí hay una instantánea de la situación en ese punto: La memoria RSS es […]

Enteros cortos en Python

Python asigna enteros automáticamente en función de la architecture del sistema subyacente. Desafortunadamente tengo un gran conjunto de datos que necesita ser cargado completamente en la memoria. Entonces, ¿hay una manera de obligar a Python a usar solo 2 bytes para algunos enteros (equivalente a C ++ ‘short’)?

Confundido acerca de la identificación de Python ()

Puedo entender la siguiente definición: Cada objeto tiene una identidad, un tipo y un valor. La identidad de un objeto nunca cambia una vez que ha sido creado; usted puede pensar en ello como la dirección del objeto en la memoria. El operador is compara la identidad de dos objetos; La función id() devuelve un […]