С Oracle Hotspot JVM похоже, что jmap -dump:file=/tmp/dump.txt <pid>
может использоваться для получения дампа кучи.
Однако Eclipse OpenJ9 не включает в себя инструмент jmap
- и если вы попытаетесь использовать обычный jmap
с jvm OpenJ9, он выдаст исключение:
Exception in thread "main" java.lang.ClassCastException: com.ibm.tools.attach.attacher.OpenJ9VirtualMachine incompatible with sun.tools.attach.HotSpotVirtualMachine
at java.lang.ClassCastException.<init>(java.base@10.0.2-adoptopenjdk/ClassCastException.java:71)
at sun.tools.jmap.JMap.executeCommandForPid(jdk.jcmd@10.0.2-adoptopenjdk/JMap.java:128)
at sun.tools.jmap.JMap.dump(jdk.jcmd@10.0.2-adoptopenjdk/JMap.java:192)
at sun.tools.jmap.JMap.main(jdk.jcmd@10.0.2-adoptopenjdk/JMap.java:110)
Итак, как можно получить дамп кучи с OpenJ9?