小编最近遇到GC不断增长的问题。推荐一款分析GC日志的工具
0x01:GC问题
GCViewer是一款分析GC日志的开源工具,非常容易使用,官网如下:
https://github.com/chewiebug/GCViewer
- 下图列出了支持的JDK,及相关JDK的版本
- 下载gcviewer-1.36.jar文件,使用如下命令就可以启动
java -jar gcviewer-1.36.jar
- 启动后选择gc日志文件就可以以图片的方式显示gc的情况
具体一些图标上的线条,及说明也非常简单;如果熟悉JVM的GC原理就非常容易看出这些线条到底有没有问题。最简单的一条,只要看到堆的占比只增不减,大概率是有内存泄露问题。
0x02:OOM问题
- JVM故障分析及性能优化系列之一:使用jstack定位线程堆栈信息
- JVM故障分析及性能优化系列之二:jstack生成的Thread Dump日志结构解析
- JVM故障分析及性能优化系列之三:jstat命令的使用及VM Thread分析
- JVM故障分析及性能优化系列之四:jstack生成的Thread Dump日志线程状态
- JVM故障分析及性能优化系列之五:常见的Thread Dump日志案例分析
- JVM故障分析及性能优化系列之六:JVM Heap Dump(堆转储文件)的生成和MAT的使用
- JVM故障分析及性能优化系列之七:使用MAT的Histogram和Dominator Tree定位溢出源