VisualVM远程监控JVM

系统环境:Ubuntu 13.04  64-bit

java版本:java version "1.7.0_25"

tomcat版本:tomcat7


首先在客户端安装jdk-7windows-x64.zip的安装包,下载地址可以在官网下载,然后进入安装目录下的/bin 下面,可以看见

150749394.jpg

安装好客户端之后,开始配置服务端.


1.在服务器上配置jstatdsecurity policy文件

  jstatd是一个监控 JVM 从创建到销毁过程中资源占用情况并提供远程监控接口的 RMI ( Remote Method Invocation ,远程方法调用)服务器程序,它是一个 Daemon 程序,要保证远程监控软件连接到本地的话需要 jstatd 始终保持运行。  

  jstatd运行需要通过 -J-Djava.security.policy=*** 指定安全策略,因此我们需要在服务器上建立一个指定安全策略的文件 jstatd.all.policy,文件内容如下:

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


查看创建文件的内容:

# cat jstatd.java.policy

grant codebase "file:${java.home}/../lib/tools.jar" {

 permission java.security.AllPermission;

};


2.运行jstatd守护程序


 由于jstatd需要保持一直运行,所以建议使用 screen命令执行 jstatd程序,命令如下:

jstatd -J-Djava.security.policy=/root/jstatd.all.policy -J-Djava.rmi.server.logCalls=true(开启日志功能)


3.Tomcat中配置

 下面我们为51 服务器的 tomcat 配置 jvm 启动参数。 tomcatcatalina.sh中添加如下参数:


JAVA_OPTS=’-Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.51  其他配置’

或者:

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.1.51 -Dcom.sun.management.jmxremote.
port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

说明:

1.-Dcom.sun.management.jmxremote.port:这个是配置远程connection的端口号的,要确定这个端口没有被占用

2.-Dcom.sun.management.jmxremote.ssl=false 指定了 JMX 是否启用 ssl

3.-Dcom.sun.management.jmxremote.authenticate=false指定了JMX 是否启用鉴权(需要用户名,密码鉴权)

  2,3两个是固定配置,是 JMX的远程服务权限的

4.-Djava.rmi.server.hostname:这个是配置serverIP

140721489.jpg

然后直接远程连接ip地址就可以完成了。

在客户端双击VisualVM,然后右击“远程”选项,选择“添加远程主机” 然后输入服务器端的ip地址

150921632.jpg

添加完成之后就可以进入远程主机的监控页面了.如图:

150952213.jpg


参考链接:http://ihuangweiwei.iteye.com/blog/1219302

你可能感兴趣的:(visualvm,远程监控JVM)