[Zope] Zope and memory leaks

Howard Hansen howardh@halfmagic.com
Mon, 30 Sep 2002 12:30:32 -0700


Thanks for everyone's help with my server questions a couple of weeks ago.
Last week, the hammer fell and they turned the power off at our ISP.  I lost
275 days of server uptime!  Worse, our server remains physically
inaccessable, locked away and subject to bankruptcy actions.  Not a pretty
picture.

I scrambled and built a new server from a borrowed mobo, a processor
destined for my wife's computer, and other offal.  Debian cooperated and
loaded cleanly.  I stopped Zope, copied over a week-old Data.fs backup,
installed one missing product, repointed my port 80 to the new machine,
futzed with Apache, and got back up by the time the DNS changes filtered
through.  My 640/256 ADSL line is handling over 2000 hits/hr.  Phew!

Here's my question, though.  On my old machine, the Zope process leaked
memory like all get-out.  For instance, in a mere 14 hours, it went from
75MB to 285MB.  I had to restart the Zope process daily.  Here's the output
of the debug page:

Class                                           00:28     14:37     Delta
-------------------------------------------------------------------------
Acquisition.ImplicitAcquirerWrapper            16,253   107,895   +91,642
ZPublisher.HTTPRequest.HTTPRequest              3,267    19,872   +16,605
ZODB.POSException.ConflictError                 2,171    13,067   +10,896
OFS.Folder.Folder                               1,807     7,362   + 5,555
ZServer.HTTPResponse.ZServerHTTPResponse        1,094     6,635   + 5,541
ZPublisher.BaseRequest.RequestContainer         1,091     6,632   + 5,541
ZPublisher.BaseResponse.BaseResponse            1,089     6,621   + 5,532
ZServer.HTTPResponse.ChannelPipe                1,087     6,619   + 5,532
AccessControl.DTML.TemplateDict                    42       121   +    79
Products.CMFCore.FSDTMLMethod.FSDTMLMethod          6        82   +    76
OFS.Image.Image                                   286       333   +    47

Memory Usage                                     75MB     285MB     210MB

This problem only cropped up on the old server in the past 2 months.
Running on the new server, I no longer have this problem.  It's run at a
steady 40MB for 5 days.

Both machines run Debian Woody.  Any ideas about what's going on?  Do I need
to reboot the server more frequently?  Have I missed something?

Howard Hansen
http://howardsmusings.com