JDK-8073013 : Add detailed information about PLAB memory usage
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-02-12
  • Updated: 2023-09-04
  • Resolved: 2015-08-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b81Fixed
Related Reports
Blocks :  
Relates :  
Relates :  
Description
 Detecting issues with PLABs, particularly about fragmentation, is currently very limited as the only information received is the current and desired PLAB size.

It would be interesting to have the following additional information:
- amount of copied data
- amount of wasted data due to losing a race when claiming an object to copy
- amount of wasted data when an object does not fit the PLAB and must be retired (inner fragmentation)
- amount of wasted data when retiring a PLAB at the end of GC (phase)
- number of refills requested

In addition to that, some statistics about the (outer) fragmentation occuring when retiring an allocation region and the number of allocation regions used. 
Comments
URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/8e371a1ba7df User: lana Date: 2015-09-09 21:33:20 +0000
09-09-2015

URL: http://hg.openjdk.java.net/jdk9/hs-rt/hotspot/rev/8e371a1ba7df User: tschatzl Date: 2015-08-20 12:55:40 +0000
20-08-2015

Potential occurrences that is already measured by young collections in some way: - amount of actual allocation into a given generation (potentially split by from/to) - different kinds of wasted memory - waste at end of region (g1 only) - waste at the end of PLABs - waste at the end of allocation - waste due to failing the race to copy an object - amount of inline allocation (per generation), in bytes/words and amount of those - number of PLAB refills - number of "full" PLAB refills (where G1 managed to grab the whole desired size) - total used up (#regions * region size) per generation Evacuation failures: - amount of live objects in the regions where evacuation failure occurred - amount of regions affected by evacuation failure
08-07-2015