JVM监控

Posted wang1001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM监控相关的知识,希望对你有一定的参考价值。

 JVM监控

  1、通过jps获取java进程id --->pid

   2、然后通过jstat  -gc  pid  2000     (其中pid为java进程的id,该命令表示使用kb为单位 每2秒打印一次堆栈的使用情况和垃圾回收情况)

  如图:

    技术分享图片

  参数说明(title):

    技术分享图片

  分析:

    技术分享图片

  分析问题的出发点总结:

    1、如果FGC的次数不断增加,OC、OU基本相等,则表示不断在触发GC但是并没有腾出来很多内存空间,推断,代码存在瓶颈!

    2、FGC次数增加,每次FGC时OU都会减少一点,但是FGCT间隔超过1秒,也可能存在问题,因为一般GC所需要的时间不会超过1秒!

    3、参数P指栈的使用情况,如果栈在GC的时候,持续占用率上升,则不正常,因为对象不被引用,则栈中的变量也会被清除!

 

  对后台服务器的测试:

    1、通过监测发现问题。(如果想尽快发现问题,可以将JVM的内存分配调小点,当并发时,系统OK的情况下也就是会不断的GC,只是频率比较高,如果系统存在问题,那么一下就会抛出异常)

    2、通过tomcat日志。

    3、通过压测信息。

    4、接口请求返回信息。

 

  百分比形式的监控:

    jstat  -gcutil   pid  2000 

 

    技术分享图片

  

     技术分享图片

    技术分享图片

 

 

 

术语:

    技术分享图片

 

 

技术分享图片

 

 

 

技术分享图片

以上是关于JVM监控的主要内容,如果未能解决你的问题,请参考以下文章

visualvm监控jvm及远程jvm监控方法

JVM(Java 虚拟机) 监控工具

通过JConsoler监控Tomcat的JVM内存

通过JConsoler监控Tomcat的JVM内存

JConsole监控jvm

UAVStack JVM监控分析工具:图形化展示采集及分析监控数据