开发大型Java项目时,我们难免会遇到内存泄漏、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。如果不作出处理,随着开发的进行,这些会是一个非常严重的隐患。今天介绍一下VisualVM的使用。(具体的检测数据分析在此不做过多阐述,只介绍工具的使用和基础分析) 我将从以下几个方面介绍该工具的使用:
- 准备工作
- 插件使用
- 基础分析
一、准备工作
1. 服务所在的linux环境
[root@localhost ~]# cd /usr/java/jdk1.8.0_162/bin/
[root@localhost bin]# vim jstatd.all.policy
添加如下代码:
grant codebase “file:/usr/java/jdk1.8.0_162/lib/tools.jar” { permission java.security.AllPermission; };
注意
jstatd.all.policy 这个文件名可以自己命名,但是以.policy命名
/usr/java/jdk1.8.0_162/bin/ 和 /usr/java/jdk1.8.0_162/lib/tools.jar是我的java的路径,请替换成你们自己的路径
2.启动jstard
[root@localhost bin]#./jstatd -J-Djava.security.policy=jstatd.all.policy-J-Djava.rmi.server.hostname=192.168.134.128 -p 3333 -J-Djava.rmi.server.logCalls=true
注意
hostname=192.168.134.128 请替换成自己的服务IP地址
-p 3333 可以替换成自己设置的端口
3.下载VisualVM
下载地址:visualvm.github.io/
4.运行VisualVM
4.1添加远程服务
特别注意:
- 连接不上服务器时,请检查一下jstard 是否启动
- 连接不上服务器时,请检查防火墙是否屏蔽了该端口
二、插件使用
1.设置插件资源链接
我当前使用的VisualVM是1.4.1版本,所以这里使用的插件资源链接是:visualvm.github.io/uc/release1…
根据自己使用的版本自行添加:visualvm.github.io/pluginscent…
2.示例
- Visual GC是我添加的插件
三、基础分析
图片中我们看到的,Heap、Metaspace、Classes、Threads,分别是堆、元空间(jdk1.8之后)、类加载、线程
今天的文章Java VisualVM使用简单教程分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/14424.html