Tweaking JBoss Again

The JBoss server was dragging a bit, so I've been poking at the memory and GC settings again:

-Dprogram.name=run.sh -server -Xms56m -Xmx56m -XX:MaxPermSize=53M -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -XX:ThreadStackSize=96 -Xss96k -XX:+UseBiasedLocking -XX:+UseParallelGC -XX:+UseAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Djava.net.preferIPv4Stack=true

I basically tightened down the heap, and re-introduced the parallel GC and adaptive sizing. I'm not sure it's working well yet.

Those settings were wholly unsatisfying, so I'm chasing another set of settings which academically make more sense:

-Dprogram.name=run.sh -server -Xms50m -Xmx50m -XX:MaxPermSize=50M -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -XX:ThreadStackSize=96 -Xss96k -XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading -Djava.net.preferIPv4Stack=true

Update (29 August 2007): Academically, thrashing virtual memory with complex GC schemes doesn't make sense, either. That's what I started seeing with the Concurrent collector, so I'm back to the default collector that I had before I had started this exercise.


Filed Under: Computers Linux Java Technology Blog-Code