-
Enhancement
-
Resolution: Fixed
-
P4
-
9
-
b25
While running a customer example app with G1, the pause time can be quite low for a young collection, like 5ms. But this app has some humongous regions, and over 20% of the pause time (usually ~1.5ms) is shown as "Humongous Register" which is a single threaded step looking for roots into the humongous regions in register_humongous_regions_with_cset().
It seems like a possible perf enhancement for G1 although maybe the overhead of thread pool might be more than its worth. I dont know if this a good idea, just pointing it out.
2015-11-03T19:56:46.503-0500: 3294.913: #116: [GC pause (G1 Evacuation Pause) (young), 0.0058334 secs]
[Parallel Time: 2.7 ms, GC Workers: 18]
[GC Worker Start (ms): Min: 3294915.2, Avg: 3294915.7, Max: 3294917.6, Diff: 2.4]
[Ext Root Scanning (ms): Min: 0.0, Avg: 0.7, Max: 2.6, Diff: 2.6, Sum: 12.2]
[Update RS (ms): Min: 0.0, Avg: 0.4, Max: 1.2, Diff: 1.2, Sum: 7.8]
[Processed Buffers: Min: 0, Avg: 1.6, Max: 11, Diff: 11, Sum: 29]
[Scan HCC (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 2.5]
[Scan RS (ms): Min: 0.0, Avg: 0.4, Max: 0.8, Diff: 0.8, Sum: 7.3]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
[Object Copy (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 1.3]
[Termination (ms): Min: 0.0, Avg: 0.5, Max: 0.7, Diff: 0.7, Sum: 9.8]
[Termination Attempts: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 24]
[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.3]
[GC Worker Total (ms): Min: 0.3, Avg: 2.2, Max: 2.7, Diff: 2.4, Sum: 38.9]
[GC Worker End (ms): Min: 3294917.8, Avg: 3294917.9, Max: 3294917.9, Diff: 0.0]
[Code Root Fixup: 0.0 ms]
[Code Root Purge: 0.0 ms]
[Clear CT: 0.1 ms]
[Expand Heap After Collection: 0.0 ms]
[Other: 3.0 ms]
[Choose CSet: 0.0 ms]
[Ref Proc: 0.4 ms]
[Ref Enq: 0.0 ms]
[Redirty Cards: 0.1 ms]
[Humongous Register: 1.5 ms]
[Humongous Reclaim: 0.0 ms]
[Free CSet: 0.5 ms]
[Eden: 248.0M(248.0M)->0.0B(248.0M) Survivors: 2048.0K->2048.0K Heap: 1095.6M(5000.0M)->847.6M(5000.0M)]
It seems like a possible perf enhancement for G1 although maybe the overhead of thread pool might be more than its worth. I dont know if this a good idea, just pointing it out.
2015-11-03T19:56:46.503-0500: 3294.913: #116: [GC pause (G1 Evacuation Pause) (young), 0.0058334 secs]
[Parallel Time: 2.7 ms, GC Workers: 18]
[GC Worker Start (ms): Min: 3294915.2, Avg: 3294915.7, Max: 3294917.6, Diff: 2.4]
[Ext Root Scanning (ms): Min: 0.0, Avg: 0.7, Max: 2.6, Diff: 2.6, Sum: 12.2]
[Update RS (ms): Min: 0.0, Avg: 0.4, Max: 1.2, Diff: 1.2, Sum: 7.8]
[Processed Buffers: Min: 0, Avg: 1.6, Max: 11, Diff: 11, Sum: 29]
[Scan HCC (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 2.5]
[Scan RS (ms): Min: 0.0, Avg: 0.4, Max: 0.8, Diff: 0.8, Sum: 7.3]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
[Object Copy (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 1.3]
[Termination (ms): Min: 0.0, Avg: 0.5, Max: 0.7, Diff: 0.7, Sum: 9.8]
[Termination Attempts: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 24]
[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.3]
[GC Worker Total (ms): Min: 0.3, Avg: 2.2, Max: 2.7, Diff: 2.4, Sum: 38.9]
[GC Worker End (ms): Min: 3294917.8, Avg: 3294917.9, Max: 3294917.9, Diff: 0.0]
[Code Root Fixup: 0.0 ms]
[Code Root Purge: 0.0 ms]
[Clear CT: 0.1 ms]
[Expand Heap After Collection: 0.0 ms]
[Other: 3.0 ms]
[Choose CSet: 0.0 ms]
[Ref Proc: 0.4 ms]
[Ref Enq: 0.0 ms]
[Redirty Cards: 0.1 ms]
[Humongous Register: 1.5 ms]
[Humongous Reclaim: 0.0 ms]
[Free CSet: 0.5 ms]
[Eden: 248.0M(248.0M)->0.0B(248.0M) Survivors: 2048.0K->2048.0K Heap: 1095.6M(5000.0M)->847.6M(5000.0M)]
- duplicates
-
JDK-8181862 Parallelize setting up for scanning/updating the remembered set
- Closed
- relates to
-
JDK-8235119 Incomplete initialization of scan_top values results in out-of-bounds scanning of regions
- Resolved