On Thu, Nov 27 2014, Matteo Boscolo wrote: > Ciao a tutti .. > > Ho un problemino con il rilascio della memoria di una oggetto > abbastanza corposo che referenzio all'interno di un dizionario in > questo modo > > class myObject(object): > pass > > myDict={"a":myObject()} > > per deferenziarlo utilizzo: > > del(myDict['a']) > > diciamo che il mio applicativo riesce ad accumulare circa 4 giga di > memoria in 4 ore di lavoro.. andando a cancellare e referenziare piu > volte oggetti all'interno di quel dizionario myDict > che naturalmente non scaricano la memoria ma sale sempre.. > > > pensavo di usare dei thread per ogni oggetto in modo che una volta > che ho finito di utlilizzarlo il thread muore e la memoria mi si > scarica.. ma non ho ancora fatto delle prove in meriro > avete qualche idea o suggerimento in merito ??
Sì, non usare i thread. Se l'oggetto rimane in memoria vuol dire che c'è un altro riferimento allo stesso e i thread non ti aiutano ad eliminarlo. Forse ti obbligano a rivedere l'applicativo e indirettamente a risolvere il problema, ma fai un favore a te stesso e non usare i thread. Io ho usato objgraph per risolvere un problema simile. E' molto semplice da usare ma richiede un po' di tempo per elaborare i risultati. m. _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python