Details
-
Bug
-
Resolution: Fixed
-
P3
-
21, 22, 23
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8327441 | 21.0.4-oracle | Thomas Schatzl | P3 | Resolved | Fixed | b01 |
JDK-8326896 | 21.0.4 | Liang Mao | P3 | Resolved | Fixed | b01 |
Description
This issue is related to
A simple way to reproduce, please make sure large pages are NOT used.
Just run a test with the following parameters
-XX:+AlwaysPreTouch -Xms31g -Xmx31g -XX:+UseParallelGC
There is no pre-touching during heap initialing stage. After initialization, RSS of the test process is much smaller than memory committed.
On the contrary, using -XX:+UseG1GC and run the test again
-XX:+AlwaysPreTouch -Xms31g -Xmx31g -XX:+UseG1GC
it takes several seconds to pre-touch heap pages during initialization, and RSS usage after initialization is similar to memory committed. This is the expected behavior of AlwaysPreTouch
This issue related to
Attachments
Issue Links
- backported by
-
JDK-8326896 Parallel GC does not pre-touch all heap pages when AlwaysPreTouch enabled and large page disabled
- Resolved
-
JDK-8327441 Parallel GC does not pre-touch all heap pages when AlwaysPreTouch enabled and large page disabled
- Resolved
- relates to
-
JDK-8325218 gc/parallel/TestAlwaysPreTouchBehavior.java fails
- Resolved
-
JDK-8315923 pretouch_memory by atomic-add-0 fragments huge pages unexpectedly
- Resolved
-
JDK-8283935 Parallel: Crash during pretouch after large pages allocation failure
- Resolved
- links to
-
Commit openjdk/jdk21u-dev/ef13a829
-
Commit openjdk/jdk/80642dd7
-
Review openjdk/jdk21u-dev/280
-
Review openjdk/jdk/17610