[Zope] Zope/Cache/Memory

Dieter Maurer dieter at handshake.de
Thu Dec 7 14:53:20 EST 2006


kevin7kal wrote at 2006-12-6 14:30 -0500:
>I have a database that is just under 200K objects with plans that it 
>will grow larger.  The objects are created by using another object with 
>methods that read files and create the objects from the data in the 
>files.  When creating the objects, I find I have to manually clear the 
>cache or else zope eventually crashes with an out of memory error.
>There are 4GB of ram on the server. 
>The same issue arises when I catalog the objects.  I am trying maintain 
>as much speed as possible, so I do not want to catalog until the end of 
>the import.
>
>Is there a way to programmatically clear the cache during a large 
>indexing to avoid out of memory errors?

A ZODB "Connection" has the method "cacheGC()" which you can call
to start a cache garbage collection.

As others already pointed out, it is implicitely called during
large catalog operations -- controlled by the so called
"subtransaction threshold".

Note that in early versions of ZODB 3.4, there was a bug preventing
the call to "cacheGC" at "subtransaction" boundaries.



-- 
Dieter


More information about the Zope mailing list