-----Original Message----- From: Dieter Maurer [mailto:dieter@handshake.de] Sent: Monday, January 03, 2005 12:29 PM To: Andy Yates Cc: zope@zope.org Subject: RE: [Zope] Zope 2.7.3 Memory Leaks
Andy Yates wrote at 2005-1-3 09:06 -0600:
... I've been watching the debug page in the control panel and the refcounts fluctuate up and down by small amounts but the trend is always up. They never seem to level off, they always climb.
Is this typical or does this suggest a problem?
Flush the ZODB caches ("Control_Panel --> Database Management --> <database> --> "Flush cache" --> "minimize").
After that, all reference counts should be small. If not, you have a leak. The classes with high reference counts probably will give you glues which objects are leaking...
After flushing main and temporary Class January 2, 2005 5:57 pm January 3, 2005 12:54 pm Delta DocumentTemplate.DT_In.InClass 37 53 +16 compiler.misc.Set 10 19 +9 compiler.pyassem.PyFlowGraph 9 15 +6 compiler.visitor.ASTVisitor 8 14 +6 RestrictedPython.RCompile.RestrictedExpressionCodeGenerator 9 14 +5 compiler.ast.Compare 6 11 +5 compiler.pyassem.Block 5 9 +4 pyrad.dictionary.Dictionary 4 8 +4 pyrad.client.Client 4 8 +4 compiler.ast.Const 10 13 +3 compiler.ast.Expression 8 11 +3 DocumentTemplate.DT_With.With 8 11 +3 compiler.symbols.SymbolVisitor 3 6 +3 compiler.ast.Name 18 20 +2 App.ApplicationManager.DebugManager 7 9 +2 compiler.pycodegen.LocalNameFinder 5 7 +2 compiler.misc.Stack 5 7 +2 compiler.pycodegen.ClassCodeGenerator 4 6 +2 DocumentTemplate.DT_Var.Var 25 26 +1 compiler.pycodegen.FunctionCodeGenerator 7 8 +1 compiler.symbols.ModuleScope 4 5 +1 compiler.pyassem.LineAddrTable 4 5 +1 RestrictedPython.RCompile.RestrictedFunctionCodeGenerator 3 4 +1 OK so the numbers are small. This means there is no leak right? It may not be leaking, but python still consumes all available memory and dies unless I restart Zope every few days. ;-)
... Products.Transience.TransientObject.TransientObject 4041 14891 +10850
It is strange that you have that many session objects...
What is your session limit? What is your session exiration time?
Maximum number of subobjects is infinite (0) Data object timeout is 45 minutes Andy