JDK-8202842 : G1 footprint regressions in jdk11+10
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 11
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2018-05-09
  • Updated: 2018-08-16
  • Resolved: 2018-05-28
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 11
11 b16Fixed
Related Reports
Relates :  
Relates :  
Description
Across all applications and platforms tested.
Comments
So as suspected the increases happen (mostly) due to - FromCardCache doubling in size roughly (+2800kb) - RegionMarkStatsCache data structure (+368kb) FromCardCache is an issue because we absolutely need to initialize the whole data structure with an "invalid card" marker that it works. This value is -1 at the moment, so we can't use the default-0 initialization of mmapped arrays. It would however be possible at the expense of some runtime overhead to shift the values stored in the array by +1 (and shift back by -1 when reading) so that the default value would be zero, and we would not need any initialization (and use up memory until actually used). I think the RegionMarkStatsCache need not be initialized (with zeros) at startup, and could be mmapped if not already done. In the runs I compared these two data structures make 96% of the difference; attributing the rest (~120kb) to noise due to different runs.
10-05-2018