JDK-6964458 : Reimplement class meta-data storage to use native memory
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version:
    hs17,hs22,hs24,1.4.0,5.0,5.0u5,7,7u4,7-pool,8 hs17,hs22,hs24,1.4.0,5.0,5.0u5,7,7u4,7-pool,8
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic,solaris_9,solaris_10
  • CPU: generic,x86,sparc
  • Submitted: 2010-06-25
  • Updated: 2021-01-21
  • Resolved: 2012-09-27
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 8
8 b58Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
Change the implementation of the storage for class meta-data in hotspot (klasses) to
use native memory.

Comments
Draft description of new flags. These need to be rewritten into the style of the containing document. For example, what's the format for units such as MB? More to come. -XX:MetaspaceSize=<NNN> where <NNN> is the initial amount of space (the initial high-water-mark) allocated for class metadata (in bytes) that may induce a garbage collection to unload classes. The amount is approximate. After the high-water-mark is first reached, the next high-water-mark is managed by the garbage collector. See MinMetaspaceFreeRatio and MaxMetaspaceFreeRatio. -XX:MaxMetaspaceSize=<NNN> where <NNN> is the maximum amount of space to be allocated for class metadata (in bytes). This flag can be used to limit the amount of space allocated for class metadata. This value is approximate. By default there is not limit set. -XX:MinMetaspaceFreeRatio=<NNN> where <NNN> is the minimum percentage of class metadata capacity free after a GC to avoid an increase in the amount of space (high-water-mark) allocated for class metadata that will induce a garbage collection. -XX:MaxMetaspaceFreeRatio=<NNN> where <NNN> is the maximum percentage of class metadata capacity free after a GC to avoid a reduction in the amount of space (high-water-mark) allocated for class metadata that will induce a garbage collection.
03-10-2013

For the release notes The command line flags PermSize and MaxPermSize have been removed and are ignored. If used on the command line a warning will be emitted for each. Java HotSpot(TM) Server VM warning: ignoring option PermSize=32m; support was removed in 8.0 Java HotSpot(TM) Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
19-09-2013

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/da91efe96a93
15-09-2012

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/da91efe96a93
01-09-2012

PUBLIC COMMENTS This project will remove the permanent generation from the hotspot heap. Doing so removes the need for tuning the size of the permanent generation and also allows an implementation that is more amenable to the concurrent collection of the meta data. This project will move the contents of the permanent generation either to the Java heap or to native memory.
13-10-2010