问题:
如何查看系统的full gc频率
思路:
使用JVM工具jstat查看
步骤:
1. 运行jps获取进程号
jps

2.目标进程9
监控JVM, 每5秒打印一次
jstat -gc 9 5000

说明:
| S0C | 幸存区1的大小 |
| S1C | 幸存区2的大小 |
| S0U | 幸存区1的使用大小 |
| S1U | 幸存区2的使用大小 |
| EC | Eden区的大小 |
| EU | Eden区的使用大小 |
| OC | 老年代大小 |
| OU | 老年代使用大小 |
| MC | 方法区大小 |
| MU | 方法区使用大小 |
| CCSC | 压缩类空间大小 |
| CCSU | 压缩类空间使用大小 |
| YGC | 年轻代垃圾回收次数 |
| YGCT | 年轻代垃圾回收消耗时间 |
| FGC | 老年代垃圾回收次数 |
| FGCT | 老年代垃圾回收消耗时间 |
| GCT | 垃圾回收消耗总时间 |
3. 获取系统执行时间
ps -eo pid,tty,user,comm,lstart,etime | grep 9

4. 计算
持续时间/FGC = 24 / 6 = 4
总结:
Full GC 按照不同系统频率不同,
一般的业务系统一天1-2次,也可能出现每小时一次的情况。
总体来看,每天次数在个位数可以看作是正常。
你们学废了吗?
本文介绍了如何通过JVM自带的jstat工具来查看系统的Full GC频率。步骤包括运行jps获取进程号,然后用jstat每5秒监控一次,结合系统执行时间计算GC频率。正常的业务系统中,Full GC一天1-2次或每小时1次可视为正常。
3204

被折叠的 条评论
为什么被折叠?



