使用Java VisualVM监控远程JVM

咱们常常须要对咱们的开发的软件作各类测试, 软件对系统资源的使用状况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤为是内存的消耗是很是庞大,JDK1.6开始自带的VisualVM就是不错的监控工具.java

这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到一个比较直观的界面linux


使用Java VisualVM监控远程JVM - liuyb_94242 - 个人空间我作主

从左边Applications树中能够知道,不光能够监控本地JVM运行状况, 还能够监控远程机器上的JVM运行状况.工具

本地监控:只要打开某个JAVA程序就会自动的加入到本地监控中.测试


由于本地监控无需配置, 因此这里主要介绍监控远程JVMspa

要进行远程监控, 本机的VisualVM就必须和远程的JVM要进行通讯, Visualvm目前支持两种remote connection方式.线程

分别是jstatd和JMX方式: 这里我主要介绍的是经过JMX方式.server


经过JMX链接远程机器, 须要通过下面的配置:内存

1. 修改远程机器JDK配置文件 (我这里远程机器是linux).ssl

   a.进入JAVA_HOME\jre\lib\management\目录资源

   b.拷贝jmxremote.password.template这个文件到当前目录, 并更名为jmxremote.password

     c.打开jmxremote.password文件,去掉 # monitorRole  QED 和 # controlRole  R&D 这两行前面的注释符号


2. 修改远程机器上须要被监控的程序的配置文件 (我这里是监控Tomcat容器内部署的应用).

   a.进入TOMCAT_HOME\bin目录

     b.打开catalina.sh文件,加入以下信息:

        JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.0.237

                                                     -Dcom.sun.management.jmxremote.port=18999

                                                     -Dcom.sun.management.jmxremote.ssl=false 

                                                     -Dcom.sun.management.jmxremote.authenticate=false"

   c.重启Tomcat服务.


3. 客户端VisualVM配置 (我客户端用的是WinXP).

     a.直接反键点击Remote,选择Add Remote Host...

     b.在弹出的界面中输入远程机器的IP地址(192.168.0.237),这个IP地址会加入到Remote节点下.

     c.反键点击这个IP地址,选择Add JMX Connection, 在弹出的界面中输入刚配置的端口号(18999), 这个链接会加入到该IP节点下.

     d.反键点击这个链接,选择Open.


此时就能够看到监控的界面, 从界面上咱们能够看到CPU信息, 内存信息, 统计加载类数量,线程信息.

相关文章
相关标签/搜索