Oracle提供了一些用于监控的tools。
但是我不能使用可视化工具,因为我使用的是终端。此外,当我使用并行GC时,jstat utility无法判断它是次要GC还是主要GC。
当JVM执行并行GC时,有没有什么接口可以让我检测它是次要GC还是主要GC?
发布于 2018-01-14 15:01:33
您应该添加JVM选项来记录JVN进程的GC活动:
-verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:/your/log/dir/gc.log 查看关于understanding the format of GC log的文章
这是一个list of GC log analysis tools。也许这些工具中的一些会对你有所帮助。
为了监控次要/主要GC的数量,您可以使用jstat。示例:
jstat -gcutil 21891 250 7
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 97.02 70.31 66.80 95.52 89.14 7 0.300 0 0.000 0.300
0.00 97.02 86.23 66.80 95.52 89.14 7 0.300 0 0.000 0.300
0.00 97.02 96.53 66.80 95.52 89.14 7 0.300 0 0.000 0.300
91.03 0.00 1.98 68.19 95.89 91.24 8 0.378 0 0.000 0.378
91.03 0.00 15.82 68.19 95.89 91.24 8 0.378 0 0.000 0.378
91.03 0.00 17.80 68.19 95.89 91.24 8 0.378 0 0.000 0.378
91.03 0.00 17.80 68.19 95.89 91.24 8 0.378 0 0.000 0.378您应该注意YGC和FGC列。下面是一篇解释Minor GC vs Major GC vs Full GC的文章
https://stackoverflow.com/questions/48246138
复制相似问题