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

JEP 141: Increase the Client VM's Default Heap Size

    XMLWordPrintable

    Details

    • Type: JEP
    • Status: Candidate
    • Priority: P4
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: hotspot
    • Labels:
      None
    • Author:
      Jesper Wilhelmsson
    • JEP Type:
      Feature
    • Exposure:
      Open
    • Subcomponent:
      gc
    • Scope:
      Implementation
    • Discussion:
      hotspot dash gc dash dev at openjdk dot java dot net
    • Effort:
      S
    • Duration:
      S
    • JEP Number:
      141

      Description

      Summary

      Increase the default maximum heap size of the client JVM so that most client applications can run without tuning.

      Success Metrics

      Run a set of benchmarks provided by the client team without tuning and without running out of memory.

      Motivation

      Currently when running the 32-bit client JVM the default maximum heap size is 256MB, or less, which affects regular client applications. It should not be necessary to increase the maximum heap size in order to run demos or normal applications. The normal requirement for demos and modern applications is in the neighborhood of 512--1024MB of heap.

      Description

      While increasing the default maximum heap size we need to evaluate whether we can do this with our current collectors and still meet the pause time requirements without the need for further performance improvements. The ParallelOld collector is most likely the first choice to investigate and it has been suggested to start using it as the default collector for client applications as part of this change.

      If we see a need for performance improvements, we need to analyze the performance data in order to know what to focus our efforts on.

      Risks and Assumptions

      A larger heap may lead to longer garbage-collection pause times. If this turns out to be the case then we'll need to look at how to improve the GC to reduce pause times.

      Increasing the default heap size could lead to failure to initialize the larger heap. This could be dealt with by allowing the VM to retry initialization with a smaller heap size.

      Impact

      • Performance/scalability: No regressions. If the default garbage collector is changed then JVM tuning may be required to achieve the best performance.

      • Documentation: Documentation should be updated to reflect the changes in default heap size.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            jwilhelm Jesper Wilhelmsson
            Owner:
            Jesper Wilhelmsson Jesper Wilhelmsson
            Reviewed By:
            Mikael Vidstedt
            Endorsed By:
            Mikael Vidstedt
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated: