[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