The main change you'd commonly make is decreasing the max new gen size on large heaps (say to 2GB) from the default of 1/3 of the heap.
IMO keeping heap dump on OOM around is a good idea in production; it doesn't cost much (you're already screwed at the point where it starts writing a dump, so why not) and it can be useful. On Mon, Jun 14, 2010 at 6:01 PM, Anthony Molinaro <antho...@alumni.caltech.edu> wrote: > Hi, > > I was updating to a newer 0.6.3 and happened to remember that I noticed > back in 0.6.2 there's this change in CHANGES.txt > > * improve default JVM GC options (CASSANDRA-1014) > > Looking at that ticket, I don't actually see the options listed or a > reason for why they changed. Also, I'm not certain which options are > now recommended for a production system versus what's in the distribution. > > The distribution (well svn) for 0.6.x currently has > > JVM_OPTS=" \ > -ea \ > -Xms256M \ > -Xmx1G \ > -XX:+UseParNewGC \ > -XX:+UseConcMarkSweepGC \ > -XX:+CMSParallelRemarkEnabled \ > -XX:SurvivorRatio=8 \ > -XX:MaxTenuringThreshold=1 \ > -XX:+HeapDumpOnOutOfMemoryError \ > -Dcom.sun.management.jmxremote.port=8080 \ > -Dcom.sun.management.jmxremote.ssl=false \ > -Dcom.sun.management.jmxremote.authenticate=false" > > Now I would assume that for 'production' you want to remove > -ea > and > -XX:+HeapDumpOnOutOfMemoryError > > as well as adjust -Xms and Xmx accordingly, but are there any others > which should be tweaked? Is there actually a recommended production > set of values or does it very greatly from installation to installation? > > Thanks, > > -Anthony > > -- > ------------------------------------------------------------------------ > Anthony Molinaro <antho...@alumni.caltech.edu> > -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of Riptano, the source for professional Cassandra support http://riptano.com