jvisualvm远程监控jvm有两种方式,分别是jmx以及jstatd方式
方式一.JMX
1.jmx方式相对比较简单,例如tomcat,在catalina.sh中JAVA_OPTS加入如下几句话:
-Djava.rmi.server.hostname=192.168.10.111
-Dcom.sun.management.jmxremote.port=9004
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
2.重启tomcat,打开jvisualvm,监听jmx端口9004
添加完毕后点击查看CPU,内存,线程等性能信息
方式二.JSTATD
2.首先进入jdk的bin目录下创建一个策略文件:
cd /opt/jdk1.8.0_211/bin
vi jstatd.all.policy
在policy文件中新增如下语句,保存并退出:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
在后台直接运行,输入命令
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.10.111 &
##其中192.168.10.111为当前执行命令的服务器所在地址。默认端口为1099,也可以通过-p 1099指定端口
可以看到jstatd的进程号:
在jvisualvm中添加jstatd监控方式:
此时,如果有运行的jvm进程会被监控起来。
点击查看具体性能信息