-
Enhancement
-
Resolution: Fixed
-
P4
-
17
-
b10
Currently, when expanding the old gen during evacuation (young gc), the code does not make sure that the thread actually expanding the heap gets any memory. A thread's post-expansion allocation attempt could fail because, after it has expanded the heap, other concurrent threads may claim some of the expanded space first, possibly enough that the residue is insufficient for the expanding thread's second allocation attempt.
In this case the expanding thread will consider the entire allocation to have failed and Parallel GC start a full gc although there is still lots of memory available.
In this case the expanding thread will consider the entire allocation to have failed and Parallel GC start a full gc although there is still lots of memory available.
- relates to
-
JDK-8260332 ParallelGC: Cooperative pretouch for oldgen expansion
-
- Open
-
-
JDK-8260045 Parallel GC: Waiting on ExpandHeap_lock may cause "expansion storm"
-
- Resolved
-