How to get Java8 Metaspace dump (not heap dump)

czh picture czh · Jun 20, 2016 · Viewed 15.5k times · Source

Are there any tools that are able to get Metaspace dump from a Java8 hotspot vm ?

Answer

apangin picture apangin · Jun 21, 2016

It seems you encounter a class loading leak.
Use

  • jmap -clstats PID to dump class loader statistics;
  • jcmd PID GC.class_stats to print the detailed information about memory usage of each loaded class. The latter requires -XX:+UnlockDiagnosticVMOptions.

The heap dump will also help, because each class in the Metaspace has a corresponding java.lang.Class instance in the heap.