On Jun 26, 5:19 am, Tom Davis <[EMAIL PROTECTED]> wrote:
> I am having a problem where a long-running function will cause a
> memory leak / balloon for reasons I cannot figure out.  Essentially, I
> loop through a directory of pickled files, load them, and run some
> other functions on them.  In every case, each function uses only local
> variables and I even made sure to use `del` on each variable at the
> end of the loop.  However, as the loop progresses the amount of memory
> used steadily increases.

Do you happen to be using a single Unpickler instance?  If so, change
it to use a different instance each time.  (If you just use the module-
level load function you are already using a different instance each
time.)

Unpicklers hold a reference to everything they've seen, which prevents
objects it unpickles from being garbage collected until it is
collected itself.


Carl Banks
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to