Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8166500

Adaptive sizing for IHOP causes excessively long mixed GC pauses

XMLWordPrintable

    • gc
    • x86_64
    • linux_ubuntu

      FULL PRODUCT VERSION :
      java version "9-ea"
      Java(TM) SE Runtime Environment (build 9-ea+131)
      Java HotSpot(TM) 64-Bit Server VM (build 9-ea+131, mixed mode)

      FULL OS VERSION :
      Linux 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:42:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


      A DESCRIPTION OF THE PROBLEM :
      We have ran our application on JDK 9-ea+131 and generated workload similar to one we have on production. We have noticed unacceptably long mixed GC pauses - more than 3 seconds long. Actually all mixed GC pauses where much longer than we have on JDK 1.8.0_102 in exactly similar conditions.
      We have used following flags with JDK 9:
      -XX:+DisableExplicitGC -XX:+PerfDisableSharedMem -XX:+UnlockDiagnosticVMOptions -XX:+PrintSafepointStatistics -XX:+UseG1GC -XX:MaxGCPauseMillis=40 -Xms64g -Xmx64g
      It was found that JDK-8136677 causes this since disabling Adaptive sizing for IHOP resolve the issue.
      Attaching a part of debug GC log.
      Reproducible on 9-ea+135

      THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try

      THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Did not try

      REGRESSION. Last worked in version 8u102

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Part of debug GC log.
      https://www.dropbox.com/s/ahmbutoai2j3ehh/gc_log_07_09_16.log.zip?dl=0
      Long pauses can be found near 44320, 48900, 54470, 64900 seconds

      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      -XX:-G1UseAdaptiveIHOP brings results on par with JDK8

            tschatzl Thomas Schatzl
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: