###1. JDK的命令工具,参考 https://my.oschina.net/feichexia/blog/196575
所有的命令都可以使用 -help查看帮助
-
jps 系统内虚拟机进程。 主要 -l 和-v 参数选项,比如:jps -l
-
jstat 虚拟机统计信息监视工具
//假设需要每250毫秒查询一次进程5744垃圾收集状况,一共查询20次 jstat -gc 5744 250 20
-
jinfo Java配置信息工具
//jinfo -flag [name] pid jinfo -flags 5574//这是列出所有的jvm参数
-
jmap Java内存映像工具
jmap -dump:format=b,file=eclipse.bin 5744//生成dump快照文件 jmap -heap 5744 //显示堆信息,那种回收期,参数配置,分代情况 jmap -permstat //显示永生代内存信息
-
jhat 虚拟机堆转储快照分析工具
-
jstack Java堆栈跟踪工具
// 通过Java代码实现jstack大部分功能 for (Map.Entry<Thread, StackTraceElement[]> stackTrace : Thread.getAllStackTraces().entrySet()) { Thread thread=(Thread)stackTrace.getKey(); StackTraceElement[] stack=(StackTraceElement[])stackTrace.getValue(); if(thread.equals(Thread.currentThread())){ continue; } System.out.println("线程:"+thread.getName()); for (StackTraceElement element : stack) { System.out.println(element); } }
-
HSDIS JIT生成代码反汇编
###2. JDK的可视化工具
-
JConsole Java监视和管理平台
-
VisualIVM 多和一故障处理工具,参考https://www.ibm.com/developerworks/cn/java/j-lo-visualvm/ 、http://jiajun.iteye.com/blog/1180230
- VisualIVM插件安装
- 生成、浏览堆转储快照 ( -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=E:\Java\dump)
- 分析程序性能
- BTrace动态日志跟踪