开发大型Java项目时,我们难免会遇到内存泄漏、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。如果不作出处理,随着开发的进行,这些会是一个非常严重的隐患。今天介绍一下VisualVM的使用。(具体的检测数据分析在此不做过多阐述,只介绍工具的使用和基础分析) 我将从以下几个方面介绍该工具的使用:
[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的路径,请替换成你们自己的路径
[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 可以替换成自己设置的端口