Como liberar memória depois de criar figuras matplotlib

Tenho várias funções matlpotlib acumuladas em algumas tarefas do django-aip

Toda vez que as tarefas são chamadas de mais RAM, é dedicado ao python. Em pouco tempo, o python está ocupando toda a RAM.

QUESTÃO Como liberar esta memória?

UPDATE 2 - Uma segunda solução:

Fiz uma pergunta semelhante especificamente sobre a memória bloqueada quando erros do matplotlib, mas recebi uma boa resposta para esta pergunta.clf(), .close() egc.collect() não são necessários se você usar o multiprocesso para executar a função de plotagem em um processo separado cuja memória será liberada automaticamente assim que o processo termina

s erros do @Matplotlib resultam em um vazamento de memória. Como posso liberar essa memória?

UPDATE - A solução:

Essas postagens de stackoverflow sugeriram que eu possa liberar a memória usada pelos objetos matplotlib com os seguintes comandos:

.clf(): Matplotlib fica sem memória ao plotar em um loop

.close(): Python matplotlib: a memória não está sendo liberada ao especificar o tamanho da figura

import gc
gc.collect()

qui está o exemplo que usei para testar a soluçã

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()

questionAnswers(1)

yourAnswerToTheQuestion