概述:本文介绍关于GC、线程等JVM通用指标监控的一些常用方式,重点介绍jvisualvm工具使用。
1、远端服务器需启动jstatd,进入服务器jdk的bin目录,新建配置文件:jstatd.all.policy,内容为“grant codebase "file:#jdk安装目录/lib/tools.jar" { permission java.security.AllPermission; }; “
image
2、启动jstatd监听端口(端口需无其他进程占用),启动参数: ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.241.136 -p10086 &
image
image
image
image
6.1)GC监控: 根据服务的部署及配置情况制定GC、FGC监控指标,如有涉及复杂处理逻辑的接口、服务(例:大量数据处理、频繁对象处理、大对象处理、复杂逻辑、复杂调用、批次处理等等),建议在压测/稳定性测试过程中监控服务GC是否正常。
单节点GC监控指标示例(仅供参考,由业务服务情况评估而定): Minor GC执行不应低于10秒1次;Minor GC执行时间不应超过50ms;Full GC执行时间不应超过1s;Full GC执行频率不应高于10分钟1次; 其中FGC的执行频次、耗时通常是最重要的一个指标。
6.1.1 ) Visual GC插件监控GC情况,相较于服务器上使用jstat等命令行工具,本工具过程可视化且可远程监控,更加的方便。
image
image
image
image
image
image
image
手动触发FGC: https://blog.csdn.net/fanfan4569/article/details/106324233
手动触发YGC: https://blog.csdn.net/fanfan4569/article/details/106178893
jvm排查内存内漏: https://www.jianshu.com/p/e69fb428786f
死锁分析: https://blog.csdn.net/paincupid/article/details/47441187