BleedingLikeAStuckPig
Bleeding Like A Stuck Pig
This page is for discussing problems which appear to be memory / resource leaks in a Zope server.
Memory Usage Stats
One of the important aspects here is correct reading (and hence reporting) of memory usage. Lately, there has been quite a bit of confusion surrounding how to read and interpret the output of top in Linux. Hopefully, this will clarify things a bit.
When running threads, do not multiply the number of threads by the memory listed. IOW, if you have 4 threads, and each thread is listed as 23M
, this means 23M total, not 92M.
YMMV on other Operating Systems.
Bill
Large File/Image Uploads
The Zope process seems to bloat unrecoverably for each large Image or File object uploaded -- the memory is not recovered after deleting the object, flushing the cache, and packing the database. RefCountCycle?, anyone? (maybe we should try Neel Schemenhaur's GC patch for Python? see news:comp.lang.python over the last week for discussion)
Phantom Leaks
See the How-to by JasonSpisak? on diagnosing apparent memory leaks.
- hathawsh (Apr 9, 2003 10:10 am; Comment #1)
- (Shane) I can confirm there was a ref count cycle involving large file uploads. Hopefully I just fixed it for Zope 2.6.2 and 2.7+. The problem was in Medusa's handling of the request.collector attribute. Also, the request.close() method needed to release the reference to the input stream.