在这里要先夸一夸这个在线Java内存分析工具,这个工具简直太友好了,而且对于dump文件,对于stack文件都有非常nice的可视化分析。大可不必下载什么MAT,JProfiler等,非常值得推荐。
你是否会头疼一下问题
- 线上CPU突然飙升,领导让你排查,心慌怎么办?
- 线上发布之后内存升高,出现了FGC怎么分析?
- 出现了死锁,死循环该怎么排查?
线上问题排查示例
导出堆栈文件
通过jmap命令或者jstack命令导出相关堆栈或者内存dump文件,这里以导出线程堆栈文件进行分析演示。
jstack 21244 > 21244cpu.log
# 该命令对于线上环境基本没啥影响,可以放心导出
这时候导出拿到了21244cpu.log文件之后,就可以进行离线分析了。
通过在线分析工具导入堆栈文件
分析地址:https://heaphero.io/index.jsp
直接导入刚才导出的文件,点击分析即可。