前言
前面几篇文章已经分别讲述了GC算法,垃圾回收器以及GC调优,今天在这里继续看下在工具上的使用。
正文
JVM参数
- -XX:+PrintGC 输出GC简要信息
- -XX:+PrintGCDetails 输出GC简要信息
- -XX:+PrintGCTimeStamps 输出GC时间戳
- -XX:+PrintGCApplicationStoppedTime 输出GC暂停时间
- -Xlogg c:/gc.log 输出到文件
命令行工具
- 查看内存使用情况、heap dump:jmap + jhat
- 查看GC情况:jstat
IDEA中的使用
在运行的时候点击Edit Configurations,加入对应的JVM参数或前面文章提到的GC:
JvisualVM
MAT(Eclipse Memory Analyzer)
- 分析dump文件,快速定位内存泄漏
- 获得堆中对象的统计数据
- 获得对象相互引用的关系
- 采用树形展现对象间相互引用的情况
- 支持使用OQL语言来查询对象信息