[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