<div dir="ltr">Does this happen at each concurrent marking phase, or only at some?<div>If you can reproduce the problem under controlled conditions, you might consider starting by</div><div>collecting a few native stack traces (pstack) in quick succession during the marking phase</div>
<div>(if you react fast enough! -- I'd suggest running pstack in a loop next to the JVM when heap</div><div>occupancy approaches 65%, and you can look at the ones corresponding to the pause during</div><div>the marking phase.)</div>
<div><br></div><div>-- ramki</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 25, 2014 at 8:11 AM, Krishnamurthy, Kannan <span dir="ltr"><<a href="mailto:Kannan.Krishnamurthy@contractor.cengage.com" target="_blank">Kannan.Krishnamurthy@contractor.cengage.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Greetings,<br>
<br>
We are experiencing unexplained/unknown long pauses (8 seconds) during concurrent marking step of G1 collector.<br>
<br>
    2014-08-07T13:42:30.552-0400: 92183.303: [GC concurrent-root-region-scan-start]<br>
    2014-08-07T13:42:30.555-0400: 92183.305: [GC concurrent-root-region-scan-end, 0.0025230 secs]<br>
    **2014-08-07T13:42:30.555-0400: 92183.305: [GC concurrent-mark-start]**<br>
    **2014-08-07T13:42:39.598-0400: 92192.348: Application time: 9.0448670 seconds**<br>
    2014-08-07T13:42:39.601-0400: 92192.351: Total time for which application threads were stopped: 0.0029740 seconds<br>
    2014-08-07T13:42:39.603-0400: 92192.353: [GC pause (G1 Evacuation Pause) (young) 92192.354: [G1Ergonomics (CSet Construction) start choosing CSet, _pending_cards: 7980, predicted base time: 28.19 ms, remaining time: 71.81 ms, target pause time: 100.00 ms<br>

<br>
<br>
`2014-08-07T13:42:30.555-0400: 92183.305` is when the concurrent mark starts, approximately after 2 seconds of this step the application starts to pause. However the GC logs claims the application was not paused during this window.<br>

Linux "top" shows single CPU at 100% and rest of the CPUs at 0% during the pause.<br>
<br>
Any help in understanding the root cause of this issue is appreciated.<br>
<br>
Our target JVMS:<br>
<br>
    java version "1.7.0_04"<br>
    Java(TM) SE Runtime Environment (build 1.7.0_04-b20)<br>
    Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)<br>
<br>
    java version "1.8.0_11"<br>
    Java(TM) SE Runtime Environment (build 1.8.0_11-b12)<br>
    Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)<br>
<br>
<br>
Our JVM options :<br>
<br>
    -Xms20G -Xmx20G -Xss10M -XX:PermSize=128M -XX:MaxPermSize=128M -XX:MarkStackSize=16M<br>
    -XX:+UnlockDiagnosticVMOptions -XX:+G1PrintRegionLivenessInfo -XX:+TraceGCTaskThread<br>
    -XX:+G1SummarizeConcMark -XX:+G1SummarizeRSetStats -XX:+G1TraceConcRefinement<br>
    -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=65<br>
    -XX:ParallelGCThreads=24 -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails<br>
    -XX:+PrintGCDateStamps -XX:+PrintAdaptiveSizePolicy -XX:+PrintTenuringDistribution<br>
    -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime<br>
    -Xloggc:/common/logs/ocean-partition-gc.log<br>
<br>
<br>
Thanks and regards,<br>
Kannan<br>
<br>
</div></div></blockquote></div><br></div>