visualvm添加远程管理-centos

VisualVM连接远程服务器有两种方式:JMX和jstatd,两种方式都不能完美支持所有功能,例如JMX不支持VisualGC,jstatd不支持CPU监控,实际使用可同时配置上并按需选用。

1.修改tomcat/bin目录下catalina.sh文件 

JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=${host_ip}
                                                     -Dcom.sun.management.jmxremote.port=9999
                                                     -Dcom.sun.management.jmxremote.ssl=false 
                                                     -Dcom.sun.management.jmxremote.authenticate=false"

 

重启tomcat。需要保证添加的port没有被其他服务占用。方法:netstat -tlnp | grep 9999。

2. 打开visualvm,通过远程添加新增目标主机。右击添加的目标主机,添加jmx连接。将9999加上去。

3. 如果需要使用远程visual gc插件。则需要在JAVA_OPTS中加上jstatd的配置。

3.1 vi $JAVA_HOME/jre/lib/security/java.policy  --一般不建议直接修改这个文件

末尾的}处添加permission java.security.AllPermission;

3.2 按照下面命令启动后会开启注册端口1099和一个随机的连接端口,注册端口也可通过-p参数指定

jstatd -J-Djava.security.policy=all.policy -p 10003 &

trouble shoot 排错

-- 检查linux的hostname匹配的IP

hostname -i

如果匹配的结果是无法识别或者127.0.0.1, 则需要手动配置主机名和IP映射。假设IP是192.168.0.1,主机名是genious:

vi /etc/hosts

添加一行192.168.0.1  genious。重启服务。运行hostname genious可以更改主机。

-- 如果出现无法连接。先查看端口是否开放。

telnet host_ip 9999 如果没开放则会提示connect refused。

-- 如果没有开放。则需要编辑iptables来开放。

/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口

/etc/rc.d/init.d/iptables save #保存配置

/etc/rc.d/init.d/iptables restart #重启服务

-- 查看端口是否已经开放

service iptables status

-- 如果没开放则输入

iptables -I INPUT -p tcp --dport 9999-j ACCEPT #开启9999 tcp端口 

service iptables save #保存配置

service iptables restart #重启服务

如果iptables编辑后依然无效。可先关闭iptables

service iptables stop 关闭

service iptables start 启动

 

posted @ 2016-12-07 18:52  無限大  阅读(1435)  评论(0编辑  收藏  举报