[ZODB-Dev] Cache Query (why doesn't RAM usage ever drop?)

Shane Hathaway shane@zope.com
Fri, 25 Oct 2002 11:31:33 -0400


Jeremy Hylton wrote:
>>>>>>"SH" == Shane Hathaway <shane@zope.com> writes:
>>>>>
> 
>   SH> ExtensionClass does not use PyMalloc.  I wonder if it would be
>   SH> worth the effort to change it.  (To the group) Does Python
>   SH> itself use PyMalloc?
> 
> Python 2.2 and up uses pymalloc (or is its right name obmalloc?).  But
> pymalloc never returns memory to the system.  As a rule, I'd say its
> practically impossible to control when memory is returned to the
> system.

Agreed.

> Does any have evidence of harmful effects caused by large process
> size?  After a balloon event (memory balloons to a large size and then
> deflates when the transaction commits), most of the pages aren't
> touched so the working set size is smaller.

That's a good theory, but I've never seen it work in practice.  Anytime 
Zope is active, it tends to pull nearly all of its pages into active 
memory.  I think the objects get scattered all over the heap, resulting 
in 4K pages being loaded to access 10 bytes.  It's a locality of 
reference problem.  Hmm, hmm.  Hmm.  Hmph.

Shane