From: Wolfgang M. <sb...@we...> - 2004-12-01 10:09:56
|
Hi, > If I run the same test with default JVM settings (64 MB maximum memory) I > still end up with an OutOfMemeory exception after a while. It seems > to me like the database memory footprint keeps on growing the whole time > no matter what value I choose for cacheSize. I tested adding 11000 files (avg. size 10K, two collections) with the client started in local mode (bin/client.sh -l), -Xmx64m and cacheSize="8M". It worked. How many collections are you creating? The client stores files by passing a File object to XMLResource.setContent(). This way, no memory is used for the data. How do you create/store the XMLResource? > When/how frequently does the database clear its caches and internal > buffers? Is there any simple way to programatically force flushing of the > database buffers and clearing of caches? > > I have tried using DBBroker.sync() but after a while that does not seem to > help either. In particular, it does not release anything from the buffers > (which are still full). The buffers remain full. The main buffers use a LRU policy: pages will just fall out of the cache automatically. DBBroker.sync() (which is the correct method) ensures that all dirty pages have been written to disk, but it does not empty the buffer, which would contradict the LRU policy. > I would like to use eXist in a web service container that should run > 24-7 and in such an environment the observed memory behavior is a major > problem. Which eXist version are you using? Wolfgang |