Does your Application stall for several seconds (or more)?
Garbage Collection If you have a Java app that handles large volumes of data but your app hangs randomly for several seconds (or even minutes), a good call will be a wrong configuration of Java's Garbage Collection. What can be done? First of all lets get some of the garbage collector's logs . In order to see the GC's logging (Stdout) details, use these command line parameters: -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps Eg: java -jar -verbose:gc -XX:+PrintGCTimeStamps java_app.jar Now to the actual garbage collecting. Apparently Java 1.5 has three different fixed garbage collection modes . The fixed garbage collection modes are: -XX:+UseConcMarkSweepGC -XX:+UseParallelGC -XX:ParallelGCThreads= -XX:+UseTrainGC Eg: java -jar -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseParallelGC java_app.jar If you find the fixed garbage collection modes not satisfying enough, you can configure the garbage collector manually with several additional command line parameters, use th...