java代码获取gc信息,如何监视Java垃圾回收

在文章《理解Java垃圾收集》中,我们了解了不同GC算法的流程,GC的工作方式,年轻代和年老代,以及您应该了解的新JDK 7中5种类型的GC的知识。这些类型的GC对性能都有影响。

本文将讨论和说明如何监控Java GC.

什么是GC监控?

GC监控是指通过工具或指令了解JVM运行GC的过程和相关信息。例如,我们可以找出:

年轻代的对象晋升多少到老年代,或STW发生了多长时间等信息

通过GC监控,我们可以知道JVM是否有效地运行了GC,是否需要GC调优,同时为GC调优提供依据。

如何监控GC?

监视GC的方式不同,但唯一的区别是如何显示GC操作信息。GC由JVM完成,并且由于GC监视工具会公开JVM提供的GC信息,所以无论您如何监视GC,您都将获得相同的结果。因此,您不需要学习所有方法来监视GC,但是由于只需要很少的时间就可以学习每种GC监视方法,因此了解其中的几种方法可以帮助您在不同的情况和环境下使用正确的方法。

首先,取决于访问接口,可以将GC监视方法分为CUI和GUI。典型的CUI GC监视方法涉及使用单独的名为“ jstat ”的CUI应用程序,或者在运行JVM时选择一个名为“ verbosegc ” 的JVM选项。

GUI GC监视是通过使用单独的GUI应用程序完成的,三个最常用的应用程序是“ jconsole”,“ jvisualvm”和“ Visual GC”。

让我们进一步了解每种方法。

jstat

jstat是HotSpot JVM中的监视工具。用于HotSpot JVM的其他监视工具是jps和jstatd。有时,您需要使用所有三个工具来监视Java应用程序。

jstat不只显示GC操作信息。它还提供了类加载器操作信息或即时编译器操作信息。在jstat可以提供的所有信息中,本文将仅介绍其监视 GC操作信息的功能。

jstat位于$ JDK_HOME / bin中,因此,如果java或javac可以在不从命令行设置单独目录的情况下运行,那么jstat也可以。

您可以尝试在命令行中运行以下命令。

$> jstat –gc  $ 1000

S0C       S1C       S0U    S1U      EC         EU          OC         OU         PC         PU         YGC    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值