使用本地jvisualvm远程监控服务器
参考文章:https://blog.csdn.net/yeyuningzi/article/details/140261411
jvisualvm工具默认是监控本地jvm,如果需要监控远程就要修改配置参数
1、先查看是否打开
ps -ef|java
如果打开杀掉进程
2、进入项目服务路径下,然后执行命令
java -Dcom.sum.management.jmxremote -Djava.rmi.server.hostname=x.x.x.x -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar liternall-all-0.1.0-exec.jar
3、开启本地jdk自带的jvisualvm.exe文件,添加远程主机
需要关注的点:
cpu:关注垃圾回收,如果使用过高是有问题存在的
堆:堆是实例化对象存放的区域,是jvm调优最重要的区域,基本都是针对堆的调优;堆空间是有一定范围
绿色线程是当前运行线程,紫色是休眠线程,黄色是等待线程,重点关注黄色等待线程,如果等待时间过长需要优化
垃圾回收
垃圾回收算法
引用计数法
当大家新建一个变量之后,那么java语言在内部给这个变量添加一个计数的属性n,如果这个变量被引用了,那么这个变量的计数的属性n+1,如果变量被取消引用,那么这个变量计数就-1,如果变量的引用n变为0,就标记为可回收状态
分代收集算法
类型 | 发生时机 | 特点 |
---|---|---|
minorGC | 新生代垃圾收集 | 频繁、快速 |
fullGC/majorGC | 老年代垃圾收集 | 一般会伴随一次minorGC速度是比minorGC慢 |