Jonathan wrote:
No, Zope does little if anything to control the amount of memory it uses. If it did, we wouldn't see MemoryErrors ;-)
By "Zope" i meant the process running zope (i agree that Zope does not track process memory utilization!).
Answering a question I haven't asked isn't helpful...
What do you want Zope to do at this point?
Start dumping objects out of the ZODB object cache when it reaches a certain memory limit, preferably configurable in zope.conf.
There is already a way to control (within limits) the number of objects in the ZODB cache, so you must be referring to something else? (ie. a way to control memory eating 'dodgy' scripts?).
Number and size have little to do with each other... I've always wanted there to be a memory-size based limit on object cache which is maintained throughout a transaction, not just at transaction boundaries. However, that is hard to do... Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk