On 8/18/2014 11:30 AM, Jakov Sosic wrote: > My impression is that garbage collector is at fault here. > > This is the cmdline of tomcat: > > /usr/lib/jvm/java-7-openjdk-amd64/bin/java > -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties > -Djava.awt.headless=true -Xmx8192m -XX:+UseConcMarkSweepGC > -DnumShards=2 -Djetty.port=8080 > -DzkHost=10.215.1.96:2181,10.215.1.97:2181,10.215.1.98:2181 > -javaagent:/opt/newrelic/newrelic.jar -Dcom.sun.management.jmxremote > -Dcom.sun.management.jmxremote.port=9010 > -Dcom.sun.management.jmxremote.local.only=false > -Dcom.sun.management.jmxremote.authenticate=false > -Dcom.sun.management.jmxremote.ssl=false > -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager > -Djav .endorsed.dirs=/usr/share/tomcat7/endorsed -classpath > /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar > -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 > -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp > org.apache.catalina.startup.Bootstrap start
With an 8GB heap and "UseConcMarkSweepGC" as your only GC tuning, I can pretty much guarantee that you'll see occasional GC pauses of 10-15 seconds, because I saw exactly that happening with my own setup. This is what I use now: http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning I can't claim that my problem is 100% solved, but collections that go over one second are *very* rare now, and I'm pretty sure they are all under two seconds. Thanks, Shawn