对于彻底没用使用过visualVM的初学者java
环境:Windows PC上使用visualVM监控远端JVMlinux
@@@@jstatd方式链接@@@@tomcat
一、Windows安装jdk,$JAVA_HOME/bin/jvisualvm.exe,jdk自带图形化监控工具,双击运行bash
二、linux安装jdk, $JAVA_HOME/bin 下建立一个新文件 jstatd.all.policy,编辑该文件,填入内容,配置环境变量,若没有配置,file后面添加tool.jar的绝对路径工具
grant codebase"file:${java.home}/../lib/tools.jar"{ permission java.security.AllPermission; };
三、linux $JAVA_HOME/bin下执行如下命令/前台启动,也能够后台启动命令,默认监听1099端口code
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=168.0.0.1
-J-Djava.rmi.server.hostname=168.0.0.1 显示指定linux的可监控地址
最好明确指定linux能够访问的ip,若Windows与linux在同一个网段,填写内网地址,若不在一个网段则填写公网地址server
四、lsof -i:1099 查看端口是否正常被监听blog
[root@IDC-SJZ-04 ~]# lsof -i:1099 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME jstatd 29860 root 10u IPv6 130302012 0t0 TCP *:rmiregistry (LISTEN) jstatd 29860 root 11u IPv6 130302013 0t0 TCP IDC-SJZ-04:46694->IDC-SJZ-04:rmiregistry (ESTABLISHED) jstatd 29860 root 12u IPv6 130302014 0t0 TCP IDC-SJZ-04:rmiregistry->IDC-SJZ-04:46694 (ESTABLISHED)
五、jvisualvm 添加ip为168.0.0.1 默认端口为1099的远程机器,这样能够使用jstatd方式远程监控JVMip
@@@@JMX方式链接@@@@ssl
一、Windows jvisualvm运行方式不变
二、linux tomcat/bin/cataline.sh中添加如下语句并保存
-Dcom.sun.management.jmxremote.port=9010 指定JMX链接端口
-Djava.rmi.server.hostname=62.186.145.3 指定JMX链接地址 若Windows与linux在同一个网段,填写内网地址,若不在一个网段则填写公网地址
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=62.186.145.3"