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".