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监控的主要内容,如果未能解决你的问题,请参考以下文章