JVM性能监控

一、jvisualvm

jdk官方提供了监控JVM性能的工具jvisualvm,安装JDK之后,在安装目录下的bin目录中,找到jvisualvm.exe双击即可打开。

打开后的界面如下:

首次打开时候需要安装GC插件

Cmd 启动 jvisualvm

工具->插件

如果 503 错误解决:

打开网址 VisualVM: Plugins Centers

cmd 查看自己的 jdk 版本,找到对应的

复制下面查询出来的链接。并重新设置上即可

二、分析dump

dump文件保存了JVM运行时候的某一个时刻的堆内存信息,便于我们分析JVM的内存空间。

  1. 从服务器上获取dump文件

    jmap -dump:format=b,file=20240313.dump 6856

  2. 本地打开dump文件

使用jvisualvm工具,在工具右上角选择文件,然后选择装入,找到从服务器上获取的dump文件,装入。

装入dump文件之后,就可以在控制台中,开到JVM的内存使用情况。

然后就可以针对使用内存较高的地方进行分析,定位代码,对其进行优化处理。

相关推荐
xiaoqiMikko5 小时前
JVM 线上排查实战(七):jps 看不见它、jstack 连不上它,可它明明活得好好的
java·jvm
用户094248568037 小时前
第25章:Java虚拟线程(Project Loom)实战与调度协作
java·jvm
wuminyu7 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
墨天梦9 小时前
B10_文件SharedPreferences与SQLite
jvm·数据库·sqlite
EatFan15 小时前
2026 Java 后端面试风向变了:八股文只是门槛,场景化追问才是淘汰线
java·开发语言·jvm·面试·后端面试·八股文·full gc
wuminyu1 天前
Virtual Thread重投递至ForkJoinPool任务队列过程解析
java·linux·c语言·jvm·c++
2601_962071572 天前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm
用户094248568032 天前
第23章:OpenJDK逃逸分析、标量替换与锁优化
java·jvm
wuminyu2 天前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
2601_962071573 天前
类变量和全局变量的隔离性有什么区别?
java·开发语言·jvm