zoukankan      html  css  js  c++  java
  • 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 启动

  • 相关阅读:
    Android 编程下 Eclipse 恢复被删除的文件
    Android 编程下背景图片适配工具类
    Android 编程下 Managing Your App's Memory
    Android 编程下代码之(QQ消息列表滑动删除)
    Android 编程下 Canvas and Drawables
    Android 编程下 AlarmManager
    Android 编程下去除 ListView 上下边界蓝色或黄色阴影
    Java 编程下字符串的 16 位、32位 MD5 加密
    C#枚举类型和int类型相互转换
    MVC和普通三层架构的区别
  • 原文地址:https://www.cnblogs.com/guochunyi/p/6142336.html
Copyright © 2011-2022 走看看