软件测试相关【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 

 

    

  

     

    

 

 

 

术语:

    

 

 

 

 

 

posted @ 2018-08-29 20:08  为你编程  阅读(315)  评论(0编辑  收藏  举报