[Zope] debugging memory exhaustion

Dieter Maurer dieter at handshake.de
Mon Aug 13 14:20:31 EDT 2007

Chris Withers wrote at 2007-8-13 10:02 +0100:
> ...
>> It is used for the "Extreme cache detail" ZMI page
>> but can also be used differently (e.g. from an "External Methode"
>> or via the "ZServer Monitor Server" interactively).
>I've never known how to use the monitor server. Are there examples or 
>documentation anywhere?

Yes, I have seen monitor server documentation -- but I forgot where.

But it is very easy:

  You need to enable the monitor server. This entails
  its configuration and the creation of an emergency user
  (with plain text password).

  Then, you use the "ZServer.medusa.monitor_client[_win32]"
  to connect to your monitor server.

  You will be asked for authentication and use the emercency user
  and its password.

  After successful authentication, you have a Python interpreter prompt
  inside your Zope process.

  You use

      "from Zope2 import app; app=app()"

  and you have an "app" object -- similar to "bin/zopectl debug".

> ...
>Yes, but it's a bad failure mode.
>Slow-but-functional is better than throwing MemoryErrors in my book...
>(especially as a trashed cache resolves itself, whereas MemoryErrors 
>always seem to require a restart...)

How preferences differ....

But after you have found the culprit (and removed it), there will
be no more "MemoryError"s :-)


More information about the Zope mailing list