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 启动

最新文章

  1. C#------获取最后一个"/"字符后面的所有内容
  2. MVC 依赖注入
  3. python_条件、循环语句
  4. Bootstrap的标题
  5. jQuery 插件开发解析
  6. 使用C#通过调用minitab的COM库自动化生成报表
  7. [Oracle]Sqlplus连接成功,但pl/sql连接不成功,提示“ora-12145:无法解析指定的连接标识符”
  8. uva 11081 - Strings(LCS)
  9. 怎么判断PC端浏览器内核
  10. requireJS 源码(三) data-main 的加载实现
  11. Python tkinter调整元件在窗口中的位置与几何布局管理
  12. linux C 文件操作之fscanf()
  13. JS的 try catch使用心得
  14. 抓取某东的TT购买记录分析TT购买趋势
  15. DSAPI多功能组件编程应用-网络相关(中)
  16. ubuntu16.04下sublime text3安装和配置
  17. 校园wifi
  18. JAVA消息确认机制之ACK模式
  19. ZK集群搭建和配置
  20. [Android] android.util.Log

热门文章

  1. asp.net实现关闭当前网页
  2. Delphi Memory-Mapped File简单示例
  3. mysql integer size 大小
  4. How to Move Magento to a New Server or Domain
  5. linux关机
  6. Chip Factory---hdu5536(异或值最大,01字典树)
  7. 学习一下Fiddler的强大
  8. Linux上使用SMART检测硬盘
  9. JMeter学习-014-JMeter 配置元件实例之 - 用户定义的变量 参数化配置
  10. Finally的执行时机