Why does G1GC do Full GC when it only needs 40 bytes?

Martin Makundi martin.makundi at koodaripalvelut.com
Sat Jun 7 08:03:58 UTC 2014


Why does G1GC do Full GC when it only needs only 40 bytes?

Is there a way to tune this so that it would try to free up "some" chunk of
memory and escape the full gc when enough memory has been freed? This
 would lower the freeze time?

See logs:

 [Times: user=12.89 sys=0.16, real=1.25 secs]
2014-06-06T17:11:48.727+0300: 34022.631: [GC
concurrent-root-region-scan-start]
2014-06-06T17:11:48.727+0300: 34022.631: [GC
concurrent-root-region-scan-end, 0.0000180 secs]
2014-06-06T17:11:48.727+0300: 34022.631: [GC concurrent-mark-start]
 34022.632: [G1Ergonomics (Heap Sizing) attempt heap expansion, reason:
allocation request failed, allocation request: 40 bytes]
 34022.632: [G1Ergonomics (Heap Sizing) expand the heap, requested
expansion amount: 8388608 bytes, attempted expansion amount: 8388608 bytes]
 34022.632: [G1Ergonomics (Heap Sizing) did not expand the heap, reason:
heap expansion operation failed]
{Heap before GC invocations=1867 (full 1):
 garbage-first heap   total 31457280K, used 31453781K [0x00007f1724000000,
0x00007f1ea4000000, 0x00007f1ea4000000)
  region size 8192K, 0 young (0K), 0 survivors (0K)
 compacting perm gen  total 524288K, used 166271K [0x00007f1ea4000000,
0x00007f1ec4000000, 0x00007f1ec4000000)
   the space 524288K,  31% used [0x00007f1ea4000000, 0x00007f1eae25fdc8,
0x00007f1eae25fe00, 0x00007f1ec4000000)
No shared spaces configured.
2014-06-06T17:11:48.728+0300: 34022.632: [Full GC 29G->13G(30G), 47.7918670
secs]


Settings:

-server -XX:InitiatingHeapOccupancyPercent=0 -Xss4096k -XX:MaxPermSize=512m
-XX:PermSize=512m -Xms20G -Xmx30G -Xnoclassgc
-XX:-OmitStackTraceInFastThrow -XX:+UseNUMA -XX:+UseFastAccessorMethods
-XX:ReservedCodeCacheSize=128m -XX:-UseStringCache -XX:+UseGCOverheadLimit
-Duser.timezone=EET -XX:+UseCompressedOops -XX:+DisableExplicitGC
-XX:+AggressiveOpts -XX:CMSInitiatingOccupancyFraction=70
-XX:+ParallelRefProcEnabled -XX:+UseAdaptiveSizePolicy
-XX:MaxGCPauseMillis=500 -XX:+UseG1GC -XX:G1HeapRegionSize=8M
-XX:GCPauseIntervalMillis=10000 -XX:+PrintGCDetails -XX:+PrintHeapAtGC
-XX:+PrintAdaptiveSizePolicy -XX:+PrintGCDateStamps -XX:+PrintGC
-Xloggc:gc.log
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20140607/1cafe9f1/attachment.html>


More information about the hotspot-gc-use mailing list