[Zope-dev] debugging wedged zopes

Chris McDonough chrism@zope.com
Tue, 07 May 2002 19:24:34 -0400


Leonardo,

The place to start with this is to use the requestprofiler.py script (in 
the utilities directory) against a "big M" log (-M switch to Z2.py), and 
look for requests that take a long time or don't end.  If you spot a 
pattern to these requests, you can investigate from there...

Leonardo Rochael Almeida wrote:
> Hi guys,
> 
> You guys remember that Zope of mine that used to segfault? well, it
> obviously isn't segfaulting anymore, but now it's behaving in a weird
> manner. I'm positive it has nothing to do with the segfaults it used to
> have (don't worry, Matt, I won't drag you to IRC once again :-), but to
> the complex Zope application it is running (it's full of ZClasses and
> PythonsScripts and stuff).
> 
> sometimes it's sitting there nicely by itself at 196MB of RSS memory,
> suddenly it starts eating memory like a pig and responding VERY slowly.
> 
> When that happens, usually one of Zope threads is pegged at
> ninety-something %CPU.
> 
> Is there a way to know what a Zope thread is doing at a certain point in
> time, or at least what request it is trying to serve?
> 
> If I where to roll my own, where would I get the data to do a data
> structure to keep track of what request the threads are servicing?
> 
> Cheers, Leo
> 


-- 
Chris McDonough                    Zope Corporation
http://www.zope.org             http://www.zope.com
"Killing hundreds of birds with thousands of stones"