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

Martin Makundi martin.makundi at koodaripalvelut.com
Mon Jun 9 14:29:28 UTC 2014


1. "-XX:InitiatingHeapOccupancyPercent=0 should trigger concurrent gcs too
much. "

We use InitiatingHeapOccupancyPercent to make sure the gc is always active.
How is InitiatingHeapOccupancyPercent related to Full GC:s?

2. "What is the jdk version?

java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)


3. Can you share the gc log?"

Log is available at 81.22.250.165/log

4. I wonder if it is possible to have mixed set of different/automatically
varying  sizes of G1HeapRegionSize's small for smaller objects and larger
for larger objects?


**
Martin


2014-06-07 11:03 GMT+03:00 Martin Makundi <
martin.makundi at koodaripalvelut.com>:

> 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/20140609/ac446dc5/attachment.html>


More information about the hotspot-gc-use mailing list