性能问答>用 VisualVM 分析性能时,怎么才能知道执行的是哪种gc?>
2回复
5月前

用 VisualVM 分析性能时,怎么才能知道执行的是哪种gc?



在用 VisualVM 工具对程序进行性能分析时,在可视化页面里看到 CPU 使用率和堆使用率,但无法确定当前正在执行哪种类型的 GC(ygc/full gc)?这个有什么办法,或者推荐一个工具可以看到这个不?

156 阅读
请先登录,再评论

可以用jstat工具.
先用jps命令

10156 org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar

然后再用 jstat -gc 10156 1s命令
1s指采样间隔,当然也可以使用适合自己的
这个命令输出的表有很多列,找到这两个:
YGC:年轻代垃圾收集 (GC) 事件的数量。
FGC:完整 GC 事件的数量。
观察这两个计数器,就能大致了解gc的类型了。

5月前

直接JVM启动参数
-Xlog:gc* java 11
-XX:+PrintGCDetails java 8
你也可以试试

5月前