jvm可视化工具

参考:https://blog.csdn.net/weixin_43122090/article/details/105093777
JVM可视化工具
8.1为什么要可视化工具
开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析和优化。

8.2 visualVm
VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时,它能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度。

他作为Oracle JDK 的一部分,位于 JDK 根目录的 bin 文件夹下。VisualVM 自身要在 JDK6 以上的版本上运行,但是它能够监控 JDK1.4 以上版本的应用程序

8.2.1 打开visualVm
位于 JDK 根目录的 bin 文件夹下的jvisualvm.exe
注:我的JDK11没有,不知道为什么,我jdk8就找的到此工具,只有jdk8才带有可视化工具

在这里插入图片描述
先打开visualVM后再运行服务才能检测到!
在这里插入图片描述
选择你要监视的那个服务:双击

在这里插入图片描述

(hotSopt)

点击对应的服务名就能看到该虚拟机的情况:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

要看线程和堆的dump:就右键该服务名

参考:https://blog.csdn.net/weixin_38526093/article/details/130655468
选择堆dump或者线程dump
在这里插入图片描述

出现无法为以下项生成堆dump时:

是由于没有以管理员权限启动jvisualvm.exe
重新使用管理员权限启动就可以了:
在这里插入图片描述

配置项配置相关参数
在这里插入图片描述
在jdk包下创建一个文件夹放dump生成的文件
在这里插入图片描述
在这里插入图片描述

添加配置项:
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=D:\jdk8\jump\heapdump.hprof
idea中配置启动参数(也可以直接在jdk配置文件中添加永久参数):
在这里插入图片描述
在这里插入图片描述

jmap命令生成堆dump:

使用命令直接生成,参考:https://blog.csdn.net/u014454538/article/details/120370239

jmap命令产生dump文件

jmap -dump:format=b,file=file_name <pid>

在这里插入图片描述
注意这里一定要用管理员的身份运行该命令

jmap -dump:format=b,file=java_pid36.hprof 1504

在这里插入图片描述
在这里插入图片描述
然后将产生的dump文件导入分析软件里面分析:

二种方法是生成.bin文件

,然后用jhat命令,直接在网页上分析,参考:
https://blog.51cto.com/u_16175440/7181958

jmap -dump:format=b,file=java_pid36.bin 1504

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

jhat -port 9998 java_pid36.bin

在这里插入图片描述
访问浏览器:
http://127.0.0.1:9998/

在这里插入图片描述

工具 -> 插件 -> 安装Visual GC插件

工具 -> 插件 -> 安装Visual GC插件

在这里插入图片描述
重启就能看见visual GC了
在这里插入图片描述

jconsole
从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。

8.3.1 启动JConsole
点击jdk/bin 目录下面的jconsole.exe 即可启动,然后会自动自动搜索本机运行的所有虚拟机进程。选择其中一个进程可开始进行监控
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

最后介绍个idea插件,也可以看:visual GC

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值