[Zope-dev] Zope memory usage

R. David Murray bitz@bitdance.com
Mon, 13 Mar 2000 18:13:29 -0500 (EST)


OK, so just what determines Zope's memory usage?  I naively assumed
that beyond a certain minimum size it would be the object cache.
But my zope process seems to just keep growing.  If I go to the'
database management page and flush the cache, the size doesn't change.
I need to understand at least a little bit more about the memory
profile, because the Zope process is periodicaly consuming all
available swap space and I have to restart it.  I'm sure the
fact that I'm touching a lot of objects in the database (a couple
thousand) is part of the problem, but I'm doing it in batches of
250, so I would think Zope's memory management could handle that.

On a possibly related issue, I turned on the stupid file logger,
but now I occasionally get an error page with the following
traceback:

Error Type: TypeError
Error Value: call of non-function (type file)

<!--
Traceback (innermost last):
  File ...Zope-2.1.2-src/lib/python/ZPublisher/Publish.py, line 214, in publish_module
  File ...Zope-2.1.2-src/lib/python/ZPublisher/Publish.py, line 179, in publish
  File ...Zope-2.1.2-src/lib/python/Zope/__init__.py, line 202, in zpublisher_exception_hook
    (Object: ElementWithAttributes)
  File ...Zope-2.1.2-src/lib/python/ZPublisher/Publish.py, line 165, in publish
  File ...Zope-2.1.2-src/lib/python/ZPublisher/mapply.py, line 160, in mapply
    (Object: reindex_database)
  File ...Zope-2.1.2-src/lib/python/ZPublisher/Publish.py, line 102, in call_object
    (Object: reindex_database)
  File ...Zope-2.1.2-src/lib/python/OFS/DTMLMethod.py, line 145, in __call__
    (Object: reindex_database)
  File ...Zope-2.1.2-src/lib/python/DocumentTemplate/DT_String.py, line 502, in __call__
    (Object: reindex_database)
  File ...Zope-2.1.2-src/lib/python/DocumentTemplate/DT_In.py, line 611, in renderwb
    (Object: Catalog)
  File ...Zope-2.1.2-src/lib/python/DocumentTemplate/DT_Let.py, line 145, in render
    (Object: objid=id)
  File ...Zope-2.1.2-src/lib/python/DocumentTemplate/DT_With.py, line 148, in render
    (Object: getobject(data_record_id_))
  File /usr/local/src/zope/Zope-2.1.2-src/lib/python/Products/ZCatalog/CatalogAwareness.py, line 191, in reindex_object
    (Object: CatalogAware)
  File /usr/local/src/zope/Zope-2.1.2-src/lib/python/Products/ZCatalog/CatalogAwareness.py, line 181, in index_object
    (Object: CatalogAware)
  File ...Zope-2.1.2-src/lib/python/Products/ZCatalog/ZCatalog.py, line 344, in catalog_object
    (Object: ElementWithAttributes)
  File ...Zope-2.1.2-src/lib/python/Products/ZCatalog/Catalog.py, line 356, in catalogObject
  File ...Zope-2.1.2-src/lib/python/SearchIndex/UnTextIndex.py, line 243, in index_object
  File ...Zope-2.1.2-src/lib/python/SearchIndex/Lexicon.py, line 129, in set
  File ...Zope-2.1.2-src/lib/python/ZODB/Connection.py, line 409, in setstate
  File ...Zope-2.1.2-src/lib/python/zLOG.py, line 198, in LOG
  File ...Zope-2.1.2-src/lib/python/Zope/ZLogger/ZLogger.py, line 18, in log_write
  File ...Zope-2.1.2-src/lib/python/Zope/ZLogger/stupidFileLogger.py, line 40, in __call__
  File ...Zope-2.1.2-src/lib/python/Zope/ZLogger/stupidFileLogger.py, line 99, in stupid_log_write
TypeError: (see above)