Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I thought I'd share some settings that have worked for the server apps I've tuned in the past. These have been with Sun/Oracle JDK 6 (at the time of this writing). </p> <p>This is probably the most commonly used set of GC params. Of course, the settings depend heavily on the nature of your application - object life, allocation rates, complexity of refs/pointers etc. If your experience has been any different please share them.</p> <hr> <p>Basic settings. Min and max heap are the same. Assumes 64 bit machine. Heaps larger than 4-6g will require careful tuning and testing. 6g is not mandatory<br> <code>-server -Xms6g -Xmx6g -XX:MaxPermSize=256m</code></p> <p>Option A (Parallel collector): High throughput, batch oriented work. Noticable periodic pauses.<br> <code>-XX:+UseParallelGC</code></p> <p>Option B (CMS): Lower throughput, lower latency, continuous processing. Frequent unnoticable micro-pauses, rare long pauses.<br> <code>-XX:+UseParNewGC -XX:+ParallelRefProcEnabled -XX:+UseConcMarkSweepGC -XX:MaxGCPauseMillis=250 -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled</code></p> <p>Additional monitoring during UAT/SAT/Pre-production. View this log using <a href="https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=HPJMETER" rel="nofollow">HPJmeter</a> or <a href="http://www.tagtraum.com/gcviewer.html" rel="nofollow">GCViewer</a>.<br> <code>-verbose:gc -Xloggc:my_gc_output.hprof -XX:+PrintGCTimeStamps -XX:+PrintGCDetails</code></p> <hr> <p>Cheers!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload