-
Enhancement
-
Resolution: Fixed
-
P3
-
hs16, 6u18
-
b12
-
generic, x86
-
generic, windows_xp
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2187043 | 7 | Paul Hohensee | P3 | Closed | Fixed | b79 |
JDK-2189923 | 6u21 | Paul Hohensee | P3 | Resolved | Fixed | b01 |
JDK-2184388 | 6u18 | Paul Hohensee | P3 | Closed | Fixed | b05 |
JDK-2183672 | hs17 | Paul Hohensee | P3 | Closed | Fixed | b06 |
-Xmx64m -XX:OldSize=4m -XX:NewSize=2m -XX:NewRatio=8
-XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=15
for sparc32, and
-Xmx64m -XX:OldSize=4m -XX:NewSize=1m -XX:NewRatio=12
-XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=15
for x86. OldSize and NewSize are the initial committed sizes of the old
and young gens respectively. A full gc is required to increase the committed
size of the old gen.
At the time, 64m was half of the 128m of memory typically available on high-end
desktops, many client applications were satisfied with small heaps (hence the
low -Xms value), and gc times were such that the young gen had to be fairly small
in order to minimize pause times.
Since that time, low end desktops and laptops, as well as netbooks and smartbooks,
typically come with 256m, client applications have become much more "server-like",
and we've realized that small young gen sizes increase the frequency of young gcs
and the amount of transient data promoted to the old gen to levels that noticeably
impact startup and steady-state performance, principally by provoking full gcs.
We also note that young gen collection times are proportional to the total survivor
size rather than young gen size and that small (in absolute terms) survivor spaces
for promotion of transient objects.
This CR proposes that we change the default heap config to
-Xmx128m -XX:OldSize=14m -XX:NewSize=4m -XX:NewRatio=2
-XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=15
I.e., leave SurvivorRatio and MaxTenuringThreshold alone, but increase absolute
survivor space sizes significantly. We still want as many objects to die in the
young gen as possible, so MaxTenuringThreshold reamins at maximum. NewRatio is
set to the server default of 2.
- backported by
-
JDK-2189923 Increase default heap config sizes
- Resolved
-
JDK-2183672 Increase default heap config sizes
- Closed
-
JDK-2184388 Increase default heap config sizes
- Closed
-
JDK-2187043 Increase default heap config sizes
- Closed
- relates to
-
JDK-7012344 Massive memory/process size increases in recent java releases
- Closed
-
JDK-6999606 runtime/threads/CancellableThreadTest fails with OutOfMemoryError on JDK7 b118 fastdebug bits
- Closed
-
JDK-8222252 Java ergonomics limits heap to 128GB with disabled compressed oops
- Resolved
-
JDK-6898160 Need serviceability support for new vm argument type 'uint64_t'
- Closed
-
JDK-6896099 Integrate CMS heap ergo with default heap sizing ergo
- Closed