From: Andrzej J. T. <an...@ch...> - 2010-06-30 23:04:51
|
Hi all: I was looking through our eXist log files and spotted this warning: 2010-06-25 15:19:25,333 [main] WARN (DefaultCacheManager.java [<init>]:150) - The cacheSize="2024" setting in conf.xml is too large. Java has only 3185792k available. Cache manager will not use more than 1592896k to avoid memory issues which may lead to database corruptions. Now, we're running eXist on a 64-bit Ubuntu platform (3.2GHz quad proessor with 12GB of DDR3 memory), and are using the 64bit server Sun JVM, with the max memory for the JVM set to 3.5GB. It would seem to me that limiting the cache to 50% of the available JVM memory in this kind of a scenario doesn't make a lot of sense, since there is a lot of memory allocated to the JVM. Does eXist actually need 50% of all memory, regardless of the memory available, when gobs or memory are there? Or is there some fixed high-water mark of non-cache JVM memory that eXist needs to avoid database corruptions, which for large JVMs would be much smaller than 50%? I suspect that the code in DefaultCacheManager that limits the cache memory use to 50% in such large memory scenarios might be a bit too simplistic and thus not leveraging the additional memory effectively for caching? Just curious.... Thanks! -- Andrzej Taramina Chaeron Corporation: Enterprise System Solutions http://www.chaeron.com |