Periodic long minor GC pauses

Shane Cox shane.cox at gmail.com
Tue Apr 26 10:36:37 PDT 2011


Periodically, our Java app on Linux experiences a long Minor GC pause that
cannot be accounted for by the GC time in the log file.  Instead, the pause
is captured as "real" (wall clock) time and is observable in our application
logs.  An example is below.  The GC completed in 56ms, but the application
was paused for 2.45 seconds.

2011-04-26T12:50:41.722-0400: 2117.157: [GC 2117.157: [ParNew:
943439K->104832K(943744K), 0.0481790 secs] 4909998K->4086751K(25060992K),
0.0485110 secs] [Times: user=0.34 sys=0.03, real=0.04 secs]
2011-04-26T12:50:43.882-0400: 2119.317: [GC 2119.317: [ParNew:
942852K->104832K(943744K), 0.0738000 secs] 4924772K->4150899K(25060992K),
0.0740980 secs] [Times: user=0.45 sys=0.12, real=0.07 secs]
2011-04-26T12:50:45.251-0400: 2120.686: [GC 2123.075: [ParNew:
943744K->79296K(943744K), 0.0559560 secs] 4989811K->4187520K(25060992K),
0.0563970 secs] [Times: user=0.31 sys=0.09, *real=2.45 secs]*
2011-04-26T12:50:48.493-0400: 2123.928: [GC 2123.928: [ParNew:
918208K->81040K(943744K), 0.0396620 secs] 5026432K->4189265K(25060992K),
0.0400030 secs] [Times: user=0.32 sys=0.00, real=0.04 secs]
2011-04-26T12:50:51.010-0400: 2126.445: [GC 2126.445: [ParNew:
919952K->104832K(943744K), 0.0845070 secs] 5028177K->4268050K(25060992K),
0.0848300 secs] [Times: user=0.52 sys=0.11, real=0.09 secs]


Initially I suspected swapping, but according to the free command, 0 bytes
of swap are in use.
>free -m
             total       used       free     shared    buffers     cached
Mem:         32168      28118       4050          0        824      12652
-/+ buffers/cache:      14641      17527
Swap:         8191          0       8191


Next, I read about a problem relating to mprotect() on Linux that can be
worked around with -XX:+UseMember.  I tried that, but I still see the same
unexplainable pauses.


Any suggestions/ideas?  We've upgraded to the latest JDK, but no luck.

Thanks,
Shane


java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)


Linux 2.6.18-128.el5 #1 SMP Wed Jan 21 08:45:05 EST 2009 x86_64 x86_64
x86_64 GNU/Linux


-verbose:gc  -Xms24g -Xmx24g -Xmn1g -Xss256k -XX:PermSize=256m
-XX:MaxPermSize=256m -XX:+PrintTenuringDistribution -XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70
-XX:+CMSClassUnloadingEnabled -XX:+PrintGCDetails -XX:+PrintGCDateStamps
-XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCompressedStrings
-XX:+UseMembar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20110426/f9ba1dd4/attachment.html 


More information about the hotspot-gc-use mailing list