系统环境:Ubuntu 13.04 64-bit
java版本:java version "1.7.0_25"
tomcat版本:tomcat7
首先在客户端安装jdk-7windows-x64.zip的安装包,下载地址可以在官网下载,然后进入安装目录下的/bin 下面,可以看见
安装好客户端之后,开始配置服务端.
1.在服务器上配置jstatd的 security 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 启动参数。 在tomcat的 catalina.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:这个是配置server的IP的
然后直接远程连接ip地址就可以完成了。
在客户端双击VisualVM,然后右击“远程”选项,选择“添加远程主机” 然后输入服务器端的ip地址
添加完成之后就可以进入远程主机的监控页面了.如图:
转载于:https://blog.51cto.com/lpy123/1332373