一、插件下载
1.安装jdk并启动jvisualvm.exe
2.插件安装
点击已下载,第一次开启的时候已下载里面是空的,需要点击添加插件把已经下载的插件添加到已下载中。
如何下载插件?
下载地址:https://visualvm.github.io/pluginscenters.html
通过Visual VM版本或者jdk版本选择对应的下载地址,如本人选择的就是红框中的下载地址。
进入后可选择需要的插件进行下载。
这里注意一下有些插件的安装是需要以其他插件为基础的,等到安装的时候会有提示的。
后面就是添加下载的插件然后安装即可。
安装完成之后所有插件都会出现在已安装中。
二、使用JStatD连接到远程JVM
JVM jstat Daemon:守护进程,一个RMI(Remote Method Invocation)服务器程序,用于监控本地所有JVM从创建开始直到销毁整个过程中的资源使用情况,同时提供接口给监控工具(如这里的VisualVM),让工具能连接到本机所有的JVM。
启动jstatd server application需要使用与启动那些JVM相同的用户,或者root。即当前用户运行jstatd监控到的是当前用户运行的所有JVM。
由于jstatd server没有提供任何对远程client端的认证,客户端程序获取到本地当前用户的所有JVM信息后可能存在安全隐患,所以jstatd要求启动之前必须指定本地安全策略。
1.创建安全策略文件
在需要被监控的远程主机,创建一个安全策略文件,比如保存为/home/jstatd-all.policy,文件内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
2.启动jstatd server
通过如下命令可以成功启动jstatd server
[root@hdh60 ~] jstatd -J-Djava.security.policy=/home/jstatd-all.policy
3.添加远程主机
输入远程主机ip
确定之后,稍等一会就会出现这台远程主机上所有的jvm程序。
双击你的程序就会出现cpu、内存、线程等信息。
三、使用JMX连接到远程JVM
1.添加配置
在启动脚本的JAVA_OPTS中添加
-Djava.rmi.server.hostname=10.192.xx.xx (远程主机ip)
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=38123(指定连接端口)
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
2.添加JMX
输入上一步中的端口号,选择不要求ssl连接。
出现jmx,双击打开即可。