jmap & jhat
jmap 用来输出 JVM 的heap 相关信息, 或者生成 heap dump. 可以对一个正在运行的 JVM 进程使用这个命令, 也可以对一个 core dump. 它的功能基本都被 jcmd 命令所替代
jmap -histo <pid> //jcmd <pid> help GC.class_histogram
jmap -histo:live <pid> //jcmd <pid> help GC.class_histogram -all
jmap -clstats <pid> //jcmd <pid> GC.class_stats
jmap -finalizerinfo <pid> //jcmd <pid> GC.finalizer_info
jmap -dump:format=b,file=/tmp/heapdump.hprfo <pid> //jcmd <pid> GC.heap_dump
jmap -dump:live,format=b,file=/tmp/heapdump.hprfo <pid> //jcmd <pid> GC.heap_dump -all
jhat 对 heap dump 分析, 然后起一个本地 web 服务器, 开 7000 端口, 使用户可以在浏览器通过 OQL 查看 heap 里面的信息. 因为功能不够强大, 基本都用其他工具, 比如 MAT 或 Java VisualVM.