You are running zeopack on the production machine with "many clients"? Are you running the zeoserver on the same machine, "with many clients"? It seems it is the machine that ZEO server is on that is throwing the MemoryError.
I do not believe zeopack will bring the entire database into memory at once. It may/ probably brings the index into memory. Suggestion: run zeopack and zeoserver on a separate machine or allocate more memory to your zeoserver process. Zope NOTE: Running zeo clients with zserver-threads 2 is common and rarely does this impact performance. you will consume much less memory per zeo client than the 'out of the box' zope.conf which specifies zserver-threads 4 (I am -1 on this default) cheers alan On Dec 17, 2007 6:36 AM, Chris Bainbridge <[EMAIL PROTECTED]> wrote: > I have a ~9GB live ZEO database. Last night I tried to pack it, but > got this error: > > 2007-12-17T01:27:08 (4179) Error raised in delayed method > Traceback (most recent call last): > File > "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZEO/StorageServer.py", > line 1016, in run > result = self._method(*self._args) > File > "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZEO/StorageServer.py", > line 351, in _pack_impl > self.storage.pack(time, referencesf) > File > "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/FileStorage/FileStorage.py", > line 1352, in pack > opos = p.pack() > File > "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py", > line 482, in pack > self.gc.findReachable() > File > "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py", > line 228, in findReachable > self.findReachableAtPacktime([z64]) > File > "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py", > line 315, in findReachableAtPacktime > self.reachable[oid] = pos > File > "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/fsIndex.py", > line 84, in __setitem__ > tree[key[6:]] = value > MemoryError > 2007-12-17T01:27:16 (7412) opening storage '1' using FileStorage > 2007-12-17T01:34:25 datastore.fs truncated, possibly due to damaged > records at 8580513351 > 2007-12-17T01:34:25 Writing truncated data from datastore.fs to > datastore.fs.tr0 > > Are there any limits on the pack operation? I assume that it doesn't > have to hold the entire DB in memory at once? Would bringing the > database offline and then packing it work (ie. we run out of memory > because we have many active clients), or is there some fundamental > constraint in the underlying code? > > Thanks for your help, > Chris > _______________________________________________ > For more information about ZODB, see the ZODB Wiki: > http://www.zope.org/Wikis/ZODB/ > > ZODB-Dev mailing list - ZODB-Dev@zope.org > http://mail.zope.org/mailman/listinfo/zodb-dev > -- Alan Runyan Enfold Systems, Inc. http://www.enfoldsystems.com/ phone: +1.713.942.2377x111 fax: +1.832.201.8856 _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev