在用 VisualVM 工具对程序进行性能分析时,在可视化页面里看到 CPU 使用率和堆使用率,但无法确定当前正在执行哪种类型的 GC(ygc/full gc)?这个有什么办法,或者推荐一个工具可以看到这个不?
可以用jstat工具. 先用jps命令
10156 org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar 复制
10156 org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar
然后再用 jstat -gc 10156 1s命令 1s指采样间隔,当然也可以使用适合自己的 这个命令输出的表有很多列,找到这两个: YGC:年轻代垃圾收集 (GC) 事件的数量。 FGC:完整 GC 事件的数量。 观察这两个计数器,就能大致了解gc的类型了。
直接JVM启动参数 -Xlog:gc* java 11 -XX:+PrintGCDetails java 8 你也可以试试
可以用jstat工具.
先用jps命令
然后再用 jstat -gc 10156 1s命令
1s指采样间隔,当然也可以使用适合自己的
这个命令输出的表有很多列,找到这两个:
YGC:年轻代垃圾收集 (GC) 事件的数量。
FGC:完整 GC 事件的数量。
观察这两个计数器,就能大致了解gc的类型了。