JDK-8077987 : MaxCapacity for Metaspace for jstat should report MaxMetaspaceSize
Type:Bug
Component:hotspot
Sub-Component:gc
Affected Version:9
Priority:P4
Status:Resolved
Resolution:Not an Issue
Submitted:2015-04-16
Updated:2016-06-17
Resolved:2016-03-14
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.
Change the value reported for MaxCapacity for Metaspace to MaxMetaspaceSize. Currently the reserved size for Metaspace and for Compressed Class space is reported.
Comments
The documentation that MC in the jstat output refers to Metaspace capacity is being changed so that MC refers to Metaspace committed.
14-03-2016
The documentation is being changed so that the value printed is documented as Metaspace committed.
14-03-2016
The documentation for jstat is being changed to indicate that committed size will be reported for Metaspace. The committed size is what is being reported by jstat for Metaspace.
07-03-2016
Any updates/progress on this?
03-09-2015
If the current value of MaxMetaspaceSize (max_uintx) is returned for MaxCapacity, jstat on 32 bit linux reports
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT
0.0 4194304.0 2328.0 0.0 0.0 0.0 15 0 0.000 2.100
The capacities are reported in kilobytes.
If MaxMetaspaceSize is set to max_intx, then
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT
0.0 2097152.0 2328.0 0.0 0.0 0.0 19 0 0.000 2.238
On a 64 bit linux system for MaxMetaspaceSize set to max_uintx
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT
0.0 -0.0 4864.0 0.0 1048576.0 512.0 20 0 0.000 1.997
For MaxMetaspaceSize set to max_intx
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT
0.0 9007199254740992.0 4864.0 0.0 1048576.0 512.0 23 0 0.000 2.230
For 32 bit systems it looks to me like the best choice is to set MaxMetaspaceSize to max_uintx.
On 64 bit systems best would be MaxMetaspaceSize set to max_intx. Since the intent is to
have a unlimited default value for MaxMetaspaceSize, max_intx will do that as well as max_uintx.
I need to do experiments on other OS's.
30-05-2015
ILW = Low (wrong value reported), High (always), High (none) = P4
17-04-2015
MaxCapacity currently reflects the value set in 8024718. Further discussion suggests MaxMetaspaceSize as a better value.
16-04-2015
See
https://java.net/jira/browse/VISUALVM-609
for user reported discrepancy.