Bad performance when moving from 1.5 to 1.6 with GC as ConcMarkSweepGC
After moving from JDK 1.5 to 1.6 using ConcMarkSweepGC, the program started losing msg coming from multicast cloud.
We have a hashMap which is growing upto 2 Millions.On average it receives 1 Millions msgs around half are added and other half removes transactions. In worse case, we have 2 to 4 million msgs. Since the message have to be serially handled, so we have three threads. one for retrieving msg from multicast socket.
other for processing msg.
last outputing on a multicast socket.
Processing thread is add /remove /modified hashMap. 45% msgs are add, 44% remove, and remaining is modifying.
500 M to 1.5 M messages are received in a day.
But we lose messages at the incoming multicast socket layer.
Linux Red Hat
JVM is 64 bit 1.6.3
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCTaskTimeStamps -XX:PrintCMSStatistics=1 -XX:+PrintGCTaskTimeStamps -XX:+PrintTenuringDistribution -XX:PrintFLSStatistics=1
-Xmx5G -Xms3G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+UseParNewGC -XX:ParallelGCThreads=3 -XX:NewSize=300m -XX:MaxNewSize=300m