visualVM远程监控JVM

Posted 龙沙宝石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visualVM远程监控JVM相关的知识,希望对你有一定的参考价值。

对于完全没用使用过visualVM的初学者

环境:Windows PC上使用visualVM监控远端JVM

@@@@jstatd方式连接@@@@

1、Windows安装jdk,$JAVA_HOME/bin/jvisualvm.exe,jdk自带图形化监控工具,双击运行

2、linux安装jdk, $JAVA_HOME/bin 下创建一个新文件  jstatd.all.policy,编辑该文件,填入内容,配置环境变量,若没有配置,file后面添加tool.jar的绝对路径

grant codebase"file:${java.home}/../lib/tools.jar"{ permission java.security.AllPermission; };

3、linux  $JAVA_HOME/bin下执行以下命令/前台启动,也可以后台启动命令,默认监听1099端口

./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在同一个网段,填写内网地址,若不在一个网段则填写公网地址

4、lsof -i:1099 查看端口是否正常被监听

[[email protected] ~]# 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)

5、jvisualvm 添加ip为168.0.0.1 默认端口为1099的远程机器,这样可以使用jstatd方式远程监控JVM

 @@@@JMX方式连接@@@@

1、Windows jvisualvm运行方式不变

2、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"

以上是关于visualVM远程监控JVM的主要内容,如果未能解决你的问题,请参考以下文章

利用VisualVM监视远程JVM

VisualVM监控JVM

JVM探秘:VisualVM监控远程Java进程

使用VisualVM远程监控JVM Linux服务器配置方法

使用visualvm远程监控LINUX服务器JVM

使用Java visualVM监控远程JVM