My current theory, which I haven't dug into the source to confirm, is that
said buffers are being pre-allocated. Because the kafka instance is
relatively bored, they end up living long enough to see a few collections
and be promoted. I could be way off base though.

Command line, broken out for a little better readability:
18918 /opt/java/1.8.0_40/bin/java -cp
:/mnt/services/kafka08/etc::/mnt/services/kafka08/current/lib/java:/mnt/services/kafka08/current/lib/java/zookeeper-3.4.6.jar:/mnt/services/kafka08/current/lib/java/scala-library-2.11.5.jar:/mnt/services/kafka08/current/lib/java/lz4-1.2.0.jar:/mnt/services/kafka08/current/lib/java/scala-parser-combinators_2.11-1.0.2.jar:/mnt/services/kafka08/current/lib/java/metrics-core-2.2.0.jar:/mnt/services/kafka08/current/lib/java/kafka_2.11-0.8.2.0-scaladoc.jar:/mnt/services/kafka08/current/lib/java/kafka_2.11-0.8.2.0-javadoc.jar:/mnt/services/kafka08/current/lib/java/scala-xml_2.11-1.0.2.jar:/mnt/services/kafka08/current/lib/java/kafka_2.11-0.8.2.0.jar:/mnt/services/kafka08/current/lib/java/kafka-clients-0.8.2.0.jar:/mnt/services/kafka08/current/lib/java/snappy-java-1.1.1.6.jar:/mnt/services/kafka08/current/lib/java/kafka_2.11-0.8.2.0-test.jar:/mnt/services/kafka08/current/lib/java/log4j-1.2.16.jar:/mnt/services/kafka08/current/lib/java/kafka_2.11-0.8.2.0-sources.jar:/mnt/services/kafka08/current/lib/java/slf4j-api-1.7.6.jar:/mnt/services/kafka08/current/lib/java/slf4j-log4j12-1.6.1.jar:/mnt/services/kafka08/current/lib/java/zkclient-0.3.jar:/mnt/services/kafka08/current/lib/java/jopt-simple-3.2.jar:
 -Xms4096M -Xmx4096M
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/mnt/services/kafka08/var/dump/2015-10-13-17_34_17.hprof
-XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:MaxGCPauseMillis=20
-XX:InitiatingHeapOccupancyPercent=35
-Xloggc:/mnt/services/kafka08/var/log/kafka08-gc-2015-10-13-17_34_17.log
-XX:+PrintGCDetails -XX:+PrintGCDateStamps
-Dlog4j.configuration=file:///mnt/services/kafka08/etc/log4j.properties
kafka.Kafka /mnt/services/kafka08/etc/kafka08.properties


On Wed, Oct 14, 2015 at 11:37 AM, Todd Palino <tpal...@gmail.com> wrote:

> We've had no problems with G1 in all of our clusters with varying load
> levels. I think we've seen an occasional long GC here and there, but
> nothing recurring at this point.
>
> What's the full command line that you're using with all the options?
>
> -Todd
>
>
> On Wed, Oct 14, 2015 at 2:18 PM, Scott Clasen <sc...@heroku.com> wrote:
>
> > You can also use -Xmn with that gc to size the new gen such that those
> > buffers don't get tenured
> >
> > I don't think that's an option with G1
> >
> > On Wednesday, October 14, 2015, Cory Kolbeck <ckolb...@gmail.com> wrote:
> >
> > > I'm not sure that will help here, you'll likely have the same
> > > medium-lifetime buffers getting into the tenured generation and forcing
> > > large collections.
> > >
> > > On Wed, Oct 14, 2015 at 10:00 AM, Gerrit Jansen van Vuuren <
> > > gerrit...@gmail.com <javascript:;>> wrote:
> > >
> > > > Hi,
> > > >
> > > > I've seen pauses using G1 in other applications and have found that
> > > > -XX:+UseParallelGC
> > > > -XX:+UseParallelOldGC  works best if you're having GC issues in
> general
> > > on
> > > > the JVM.
> > > >
> > > >
> > > > Regards,
> > > >  Gerrit
> > > >
> > > > On Wed, Oct 14, 2015 at 4:28 PM, Cory Kolbeck <ckolb...@gmail.com
> > > <javascript:;>> wrote:
> > > >
> > > > > Hi folks,
> > > > >
> > > > > I'm a bit new to the operational side of G1, but pretty familiar
> with
> > > its
> > > > > basic concept. We recently set up a Kafka cluster to support a new
> > > > product,
> > > > > and are seeing some suboptimal GC performance. We're using the
> > > parameters
> > > > > suggested in the docs, except for having switched to java 1.8_40 in
> > > order
> > > > > to get better memory debugging. Even though the cluster is handling
> > > only
> > > > > 2-3k messages per second per node, we see periodic 11-18 second
> > > > > stop-the-world pauses on a roughly hourly cadence. I've turned on
> > > > > additional GC logging, and see no humongous allocations, it all
> seems
> > > to
> > > > be
> > > > > buffers making it into the tenured gen. They appear to be
> > collectable,
> > > as
> > > > > the collection triggered by dumping the heap collects them all.
> Ideas
> > > for
> > > > > additional diagnosis or tuning very welcome.
> > > > >
> > > > > --Cory
> > > > >
> > > >
> > >
> >
>

Reply via email to