First, and most important, your thread pool size is far too
low for a production machine.
Some napkin math for you to work this out.
maximum thread in thread pool = 16 + ((num of cpu cores) * 4)
+ (peak concurrent connections)
Next, update your Java VM.
Your JVM is officially expired and out of date.
Would start with using official oracle JVMs, not the OpenJDKs
series (at least in the Java 1.6 class).
1.6_29 fixed a number of JIT issues that caused problematic
looping that caused a *wide* range of problems.
1.6_30 fixed an SSL regression introduced in u29
1.6_31 was a minor update (mainly for Timezone updates)
1.6_32 contained important networking and garbage collection
1.6_33 had many updates, the only one impacting a server would
be the Timezone updates.
1.6_34 had a bunch of networking and util/collections bug
1.6_35 emergency patch for CVE-2012-4681 (not server
affecting) and more Timezone updates
1.6_37 more timezone updates (and other non-server impacting
1.6_38 networking fixes (for windows) and SSL close
1.6_39 more timezone updates
1.6_41 more timezone updates
1.6_43 announced end for Java 6, plus emergency patch for
CVE-2013-1493 (not server affecting)
1.6_45 fix for Runtime.exec & RMI bug fixes along with
(yup you guessed it) a Timezone update
At least get past update 38.
Also, if you are using SSL in production, it would be highly
advised that you upgrade to Java 1.7, as many of the SSL fixes have
not been put into Java 1.6.
To change your delivery options, retrieve your password, or unsubscribe from this list, visit