Currently, we have to trigger metadata statistics with jcmd with the NMT-printing command "VM.native_memory metadata". In order for that to work, NMT must have been enabled first in the monitored VM - so, the VM must have been started with -XX:NativeMemoryTracking=... . If not, "jcmd VM.native_memory" will give us an error. This diminishes its usefulness. We have many customer scenarios where we cannot restart the VM to enable NMT but still would like to see metadata statistics.
The metadata statistics do not need the NMT infrastructure, they work perfectly fine without it. We should remove metadata statistics from "VM.native_memory" and make it an own first-class diagnostic command.
(Prior discussion on hotspot-runtime: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2018-February/026354.html)
----------
Update: The final form of this patch adds the new diagnostic command "VM.metaspace".
- relates to
-
JDK-8201572 Improve Metaspace reporting
-
- Resolved
-
-
JDK-8203219 VM.metaspace jcmd should optionally show loaded classes for loaders
-
- Resolved
-
-
JDK-8203343 VM.{metaspace|classloaders|classhierarchy...} jcmd should show invocation targets for Generated{Method|Constructor}AccessorImpl classes
-
- Resolved
-
-
JDK-8203455 jcmd: VM.metaspace: print loader name for anonymous CLDs.
-
- Resolved
-
-
JDK-8204440 jcmd: VM.metaspace: print loader name for anonymous CLDs.
-
- Resolved
-
-
JDK-8189688 NMT: Report per-class load metadata information
-
- Resolved
-
(1 relates to)