【性能测试】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慢
相关推荐
用户094248568035 小时前
第23章:OpenJDK逃逸分析、标量替换与锁优化
java·jvm
wuminyu5 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
2601_9620715710 小时前
类变量和全局变量的隔离性有什么区别?
java·开发语言·jvm
估值探索者12 小时前
【Python量化系统工程实战 #01】数据存储选型 CSVSQLiteMySQL 对比与 SQLite 实战建库
开发语言·jvm·python·sqlite·api接口·数据api接口·股票数据api接口
打工仔折腾 AI1 天前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
用户094248568031 天前
第22章:JIT编译分层——Interpreter、C1、C2与热点探测
java·jvm
乌暮1 天前
JVM 原理与实践:从运行时数据区到线上故障排查
java·开发语言·jvm·后端·学习·面试
长河2 天前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
可乐ea2 天前
GitHub Security Lab 开源 Fuzzing Taskflow:让 LLM 智能体自己跑完 C/C++ 模糊测试
jvm·c++·github·模糊测试·mcp·代码agent·智能体自动化
一条破秋裤2 天前
Linux 线程同步:读写锁
java·linux·jvm