1、输出gc日志,jvm的启动参数中加入
看jvm的 gc信息: -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimestamps -XX:+PrintGCApplicationStopedTime
启动后输出:GC概要信息、详细信息、gc时间、gc造成的应用暂停时间
2、jcosole
jdk自带的内存分析工具,有图形界面,可以查看jvm内存信息、线程信息、类加载信息、MBean信息
jconsole.sh pid
3、jstat
jdk自带的分析gc工具,参数很多
jstat -gcutil pid 10000 间1w毫秒显示一次gc信息
jstat -gcutil 3122 1000 10
- S0:新生代susvivor0区
- S1:新生代susvivor1区
- E:新生代eden区
- O:年老代
- M:方法区回收比例 CCS:类空间回收比例
- YGC:minor gc次数
- YGCT: minor gc耗费的时间
- FGC: full gc的次数
- FGCT: full gc的耗时
- GCT: gc总耗时