The installation now runs with:
-Xmx512 -Xms512 -server -XX:NewRatio=2 -XX:SurvivorRatio=6
Total memory is 1024.
The strange thing with the GC is that with this settings the number of Full GCs increases with time and after a some time the installation is only performing Full GC's (see part of the log below). Any idea what this means?
This means that the ratio between New, Tenured and Survivor (= in order of 'newness') probably needs a litle more tuning, with '-XX:+PrintGCDetails' you will get more details in your gc log. Like for example:
328575.711: [GC 328575.712: [DefNew: 265529K->37305K(291328K), 0.2588330 secs] 948852K->727507K(990400K), 0.2589020 secs]
328922.903: [GC 328922.903: [DefNew: 270392K->32290K(291328K), 0.2182440 secs] 960594K->729773K(990400K), 0.2183120 secs]
329247.913: [GC 329247.913: [DefNew: 265377K->29637K(291328K), 0.2047130 secs]329248.118: [Tenured: 705134K->125824K(705216K), 1.3890390 secs] 962861K->125824K(996544K), 1.5950540 secs]
In the first two lines you can read that the New ratio does some gc. In the last line the New and Tenured ratio are doing a gc.
> Is OSCache set to a maximum? Does it cache to memory and/or disk?
The maximum is set to 1000 and only memory cache is used at this moment. What are your experiences with the settings for OSCache?
In one of our sites i have used the setting that OSCache should cache 512 items to memory, when that limit is reached the rest of it will overflow to disk.
# CACHE IN MEMORY # # If you want to disable memory caching, just uncomment this line. # # cache.memory=false
[snip]
# CACHE PERSISTENCE CLASS
#
# Specify the class to use for persistence. If you use the supplied DiskPersistenceListener,
# don't forget to supply the cache.path property to specify the location of the cache
# directory.
#
# If a persistence class is not specified, OSCache will use memory caching only.
#
cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
# CACHE DIRECTORY
#
# This is the directory on disk where caches will be stored by the DiskPersistenceListener.
# it will be created if it doesn't already exist. Remember that OSCache must have
# write permission to this directory.
#
# Note: for Windows machines, this needs \ to be escaped
# ie Windows:
# cache.path=c:\\myapp\\cache
# or *ix:
# cache.path=/opt/myapp/cache
#
cache.path=/bla/tomcat/work
[snip]
# CACHE SIZE # # Default cache size in number of items. If a size is specified but not # an algorithm, the cache algorithm used will be LRUCache. # cache.capacity=512
# CACHE OVERFLOW # # When cache.capacity is reached it will overflow to disk # cache.persistence.overflow.only=true
# CACHE UNLIMITED DISK
# Use unlimited disk cache or not. The default value is false, which means
# the disk cache will be limited in size to the value specified by cache.capacity.
#
cache.unlimited.disk=false
[snip]
Allthough you would presume on basis of the last setting 'cache.unlimited.disk=false' that all caches remain in memory, i see caches occur on disk. And i believe this is the most preferable setting because memory will be filled with caches that are asked for most often and the 'older' caches are written to disk.
---Andr� -- Andr� van Toly http://www.toly.nl mobile +31(0)627233562 ------------------------------------------------------------------>><<-- _______________________________________________ Developers mailing list [email protected] http://lists.mmbase.org/mailman/listinfo/developers
