-
Type:
Enhancement
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: 21, 25
-
Component/s: hotspot
-
b17
AFAICS, the 1/64 guess had not changed since the initial load in 2007. Unfortunately, today machines easily come with lots of physical memory, which drives the default initial heap size very high. On my 128G desktop, for example, this ergonomics sets 2G initial heap, even when application has no need for this amount of memory.
With worst case in G1, this easily eats roughly half of the entire start up, see
I think we should consider trimming the default initial heap size to recover some of the startup costs on modern machines. It looks like dropping the guess to something like 1/512 of RAM works fine at recuperating the startup costs, see attached helloworld-vs-Xmx.png. Note that with only Xmx supplied, on smaller heap sizes we would effectively have Xms = Xmx up until Xmx=2G on 128G machine. It means with large IRAMP and small heap sizes, user-supplied Xmx drives ergonomically selected Xms, which drives startup time.
I expect most performance sensitive configurations are already supplying Xms, and they would not be affected by changing the IRAMP defaults.
- causes
-
JDK-8368993 Parallel: JDK-8348278: Trim InitialRAMPercentage caused a performance regression in SPECjvm2008-SOR.small-ParGC
-
- Open
-
-
JDK-8369036 Parallel: JDK-8348278: Trim InitialRAMPercentage caused a performance regression in Footprint3-SwingSet
-
- Open
-
-
JDK-8369105 G1: JDK-8348278: Trim InitialRAMPercentage caused a performance regression in Crypto-KeyPair benchmarks
-
- Open
-
-
JDK-8369106 G1: JDK-8348278: Trim InitialRAMPercentage caused a performance regression in DaCapo-fop-default
-
- Open
-
-
JDK-8368974 G1: JDK-8348278: Trim InitialRAMPercentage caused a performance regression in Renaissance-FjKmeans
-
- Open
-
- csr for
-
JDK-8353837 Trim InitialRAMPercentage to improve startup in default modes
-
- Closed
-
- relates to
-
JDK-8368191 GC tests LinearListLow and CircularListLow fail due to OutOfMemoryError with SerialGC
-
- Closed
-
-
JDK-8348267 ZGC is very slow at startup due to initial heap commits
-
- Open
-
-
JDK-8348270 G1 is slow at startup due to initial heap commits
-
- Closed
-
- links to
-
Commit(master)
openjdk/jdk/1512d889
-
Review(master)
openjdk/jdk/23262