On 03/19/2013 11:47 AM, Bodhi wrote:
I have a python process that does some operations and is supposed to release
memory after those. The issue is that memory is not released (as seen through
top). So I do a gc.collect() to see if there is any cycle etc. Immediately
after doing the collect memory usage drops as expected, but strangely
gc.collect() returns 0.
This means I cannot find out what the problem is by setting the debug option on
gc which is what I usually do to figure out issues like this.
Maybe its that my understanding about it is incorrect, but if gc.collect
returned 0, how come some memory was freed?
To put it simply, top won't in general show you that things are freed.
The C libraries for malloc and free will reuse the memory, but not
usually release it to the operating system. So it's not usually going
to show up in 'top.'
There was a long thread on this quite recently, but I can't seem to find
it right now.
--
DaveA
--
http://mail.python.org/mailman/listinfo/python-list