JEP 141: Increase the Client VM's Default Heap SizeJEP 141: Increase the Client VM's Default Heap SizeOwnerJesper WilhelmssonTypeFeatureScopeImplementationStatusCandidateComponenthotspot / gcDiscussionhotspot dash gc dash dev at openjdk dot java dot netEffortSDurationSReviewed byMikael VidstedtEndorsed byMikael VidstedtCreated2011/11/01 20:00Updated2016/03/08 19:26Issue8046131Summary
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.


InstallingContributingSponsoringDevelopers' GuideVulnerabilitiesJDK GA/EA BuildsMailing listsWiki
                      · IRCBylaws · CensusLegalWorkshopJEP ProcessSource codeMercurialGitHubToolsGitjtreg harnessGroups(overview)AdoptionBuildClient LibrariesCompatibility & Specification ReviewCompilerConformanceCore LibrariesGoverning BoardHotSpotIDE Tooling & SupportInternationalizationJMXMembersNetworkingPortersQualitySecurityServiceabilityVulnerabilityWebProjects(overview,
      archive)AmberBabylonCRaCCaciocavalloClosuresCode ToolsCoinCommon VM InterfaceCompiler GrammarDetroitDevelopers' GuideDevice I/ODukeGalahadGraalIcedTeaJDK 7JDK 8JDK 8 UpdatesJDK 9JDK
      (…,
       21,
       22,
       23)JDK UpdatesJavaDoc.NextJigsawKonaKullaLambdaLanaiLeydenLilliputLocale EnhancementLoomMemory Model UpdateMetropolisMission ControlMulti-Language VMNashornNew I/OOpenJFXPanamaPenrosePort: AArch32Port: AArch64Port: BSDPort: HaikuPort: Mac OS XPort: MIPSPort: MobilePort: PowerPC/AIXPort: RISC-VPort: s390xPortolaSCTPShenandoahSkaraSumatraTiered AttributionTsanType AnnotationsValhallaVeronaVisualVMWakefieldZeroZGC

        © 2024 Oracle Corporation and/or its affiliates
        Terms of Use
        ·
        
            License: GPLv2
        · Privacy
        · Trademarks
