¿Cómo puedo liberar memoria después de crear figuras matplotlib

Tengo varias funciones matlpotlib incluidas en algunas tareas de django-apio.

Cada vez que las tareas se llaman más RAM se dedica a Python. En poco tiempo, Python está ocupando toda la RAM.

PREGUNTA ¿Cómo puedo liberar esta memoria?

UPDATE 2 - Una segunda solución:

Hice una pregunta similar específicamente sobre la memoria bloqueada cuando matplotlib errores, pero obtuve una buena respuesta a esta pregunta.clf(), .close() ygc.collect() no son necesarios si utiliza multiproceso para ejecutar la función de trazado en un proceso separado cuya memoria se liberará automáticamente una vez que finalice el proceso.

os errores de @Matplotlib provocan una pérdida de memoria. ¿Cómo puedo liberar esa memoria?

UPDATE - La solución:

stas publicaciones de stackoverflow sugirieron que puedo liberar la memoria utilizada por los objetos matplotlib con los siguientes comandos:

.clf(): Matplotlib se queda sin memoria al trazar en un bucle

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

import gc
gc.collect()

Aquí está el ejemplo que usé para probar la solución:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from pylab import import figure, savefig
import numpy as np
import gc      

a = np.arange(1000000)
b = np.random.randn(1000000)

fig = plt.figure(num=1, dpi=100, facecolor='w', edgecolor='w')
fig.set_size_inches(10,7)
ax = fig.add_subplot(111)
ax.plot(a, b)

fig.clf()
plt.close()
del a, b
gc.collect()

Respuestas a la pregunta(1)

Su respuesta a la pregunta