前一段测试系统崩溃过一回,所以想远程监控一下jvm的运行情况,我在网上也找了不少文章和办法,试了好几次都没成功,今天算试成功了,但是不太完美,因为需要将Linux的防火墙关掉才可以连接,我尝试将连接的端口号加到iptables中,重启防火墙,也不行。所以先记录下来,以后再看看是什么问题。
端口号:1099,Linux主机IP: 192.168.193.129
检查host是否是127.0.0.1 , 执行命令 hostname -i 如果是127.0.0.1 。
在etc/hosts 文件中将127.0.0.1改为主机IP(此处为 192.168.193.129 ),如果不能保存,改权限
chmod +x hosts
在catalina.sh文件中添加如下:
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.193.129"
位置:
这是不加认证的。以上配置是需要关闭防火墙,如果想不关闭防火墙来访问。需要在iptables里把1099端口给公布出去。
关闭防火墙命令:service iptables stop
[root@localhost sysconfig]# service iptables stop Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ]
在etc/sysconfig/iptables中加入:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1099-j ACCEPT
或者
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1099-j ACCEPT
重启防火墙命令:service iptables restart
----------------------------------------------------------------------------------------------
1.打开java安装目录bin目录下的 jvisualvm.exe
C:/Program Files/Java/jdk1.7.0_45/bin
2.在远程上右键,添加远程主机
3.在添加的远程主机上右键,添加Jmx
此处不需要密码,点击确定即可。
4.双击连接查看Jvm运行情况