【性能测试】jvm监控

使用本地jvisualvm远程监控服务器

参考文章:https://blog.csdn.net/yeyuningzi/article/details/140261411

jvisualvm工具默认是监控本地jvm,如果需要监控远程就要修改配置参数

1、先查看是否打开

ps -ef|java

如果打开杀掉进程

2、进入项目服务路径下,然后执行命令

bash 复制代码
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慢
相关推荐
小羊学伽瓦20 分钟前
ThreadLocal
java·jvm·算法
脸大是真的好~37 分钟前
JVM面试题相关-中级
jvm
利刃大大1 小时前
【JavaSE】十九、JVM运行流程 && 类加载Class Loading
java·开发语言·jvm
福尔摩斯张2 小时前
Linux Kernel 设计思路与原理详解:从“一切皆文件“到模块化架构(超详细)
java·linux·运维·开发语言·jvm·c++·架构
deng-c-f3 小时前
Linux C/C++ 学习日记(51):内存池
jvm·学习
没有bug.的程序员3 小时前
SOA、微服务、分布式系统的区别与联系
java·jvm·微服务·架构·wpf·日志·gc
董世昌413 小时前
break和continue的区别是什么?
java·jvm·算法
没有bug.的程序员4 小时前
微服务的本质:不是拆服务,而是拆复杂度
java·jvm·spring·微服务·云原生·容器·架构
未若君雅裁14 小时前
JVM面试篇总结
java·jvm·面试
kk哥889914 小时前
C++ 对象 核心介绍
java·jvm·c++