[Zope3-dev] Solved: Zope3 memory mystery

Jim Fulton jim at zope.com
Sat Feb 19 10:03:49 EST 2005


A unit test set up an event subscriber that logged events to a list and
never unsubscribed it.  I just checked in a fix.

Jim

Tim Peters wrote:
> I'm running current Zope3 trunk here, Python 2.3.5, WinXP Pro, on a
> fast P4 box with a gigabyte of RAM.
> 
> Running the unit tests alone:
> 
> test.py -u
> 
> the process memory high water mark (the largest amount of physical RAM
> mapped to the process across the entire time the tests run) is about
> 140MB.
> 
> Running the functional tests alone:
> 
> test.py -f
> 
> the high water mark is about 90MB.
> 
> But running both kinds of tests in one run:
> 
> test.py
> 
> the high water mark is over 400MB(!).  The unit tests run first then,
> and by the time they finish the high water mark is the same ~140MB as
> when running only the unit tests.  That's not surprising.  The
> surprising part is that the high water mark during the functional
> tests keeps growing and growing, until it far exceeds what I'd _guess_
> would be the worst-case 140+90 = 230 running them separately suggests.
> 
> What do people see on non-Windows boxes?  Different Windows boxes?  On
> Windows, the easiest way to track this is in Task Manager.  Take View
> -> Select Columns, and check the "Peak Memory Usage" box.  You have to
> watch the Task Manager display then, but not until the process is just
> about to end <wink>.
> 
> FYI, from a ZODB trunk checkout, the --all (test.py --all)
> ZODB/ZEO/BTree tests peak at ~35MB.




-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list