1:概述
给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里所说的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore)、堆转储快照(heapdump/hprof文件)等。
2:JDK命令行工具
Sun JDK的主要监控和处理工具
名称 | 主要作用 |
---|---|
jps | JVM Process Status Tool,显示指定系统内所遇Hotspot虚拟机进程 |
jstat | JVM Statistics Monitoring Toll,用于收集Hotspot虚拟机各方面的运行数据 |
jinfo | Configuration Info for Java,显示虚拟机配置信息 |
jmap | Memory Map for Java,生成虚拟机内存转储快照(heapdump文件) |
jhat | JVM Heap Dump Browser,用户分析Heapdump文件,它会建立一个Http/Html服务器,让用户可以在浏览器上查看分析结果 |
jstack | Stack Trace for Java ;Java堆栈跟踪工具,用于生成虚拟机当前时刻的线程快照(一般称为ThreadDump 或者 javaCore文件) |
hsdis | JIT生成代码反汇编, |
3:JDK可视化工具
Jconsole,Java监视与管理控制台
VisualVM:多合一鼓掌处理工具
特色插件:BTrace动态日志跟踪(通过Hotspot虚拟机的HotSwap技术动态加入原本并不存在的调试代码,可以用来调试缺少日志的现网代码,官网:https://kenai.com/projects/btrace).