1.Jconsole 和 Jvisualvm 是jdk 自带得可视化工具,用以查看Java程序得jvm等相关信息,并能查看自定义的信息。
2. 远程查看信息
本地查看信息这里就不说了直接打开工具就可以了。
如果我们的程序部署在远程的tomcat下了,那么我们需要修改一下几处:
1.修改tomcat的catalina.sh文件:
JAVA_OPTS="-Xms512m -Xmx512m -Xmn256m -XX:PermSize=128M -XX:MaxNewSize=128m - XX:MaxPermSize=128m -Djava.rmi.server.hostname=192.168.16.81 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.rmi.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.pwd.file=/usr/local/JAVA/jdk1.8.0_191/jre/lib/management/jmxremote.password"
加粗部分是我们要增加的新内容。
其中
-Dcom.sun.management.jmxremote.port=12345//连接端口,自定义不要与已有的端口冲突
-Dcom.sun.management.jmxremote.rmi.port=12345//这句一定要添加,不添加就无法成功
-Dcom.sun.management.jmxremote.authenticate=true//不需要密码登陆 如果改为false 则不需要配置密码项
-Dcom.sun.management.jmxremote.ssl=false //不需要安全证书
-Djava.rmi.server.hostname=192.168.16.81 //这个ip是自己服务器的外网ip
-Dcom.sun.management.jmxremote.pwd.file=/usr/local/JAVA/jdk1.8.0_191/jre/lib/management/jmxremote.password //密码项
2.在需要密码登陆时,我们增加了密码项配置,这里我们需要修改一下密码
密码所在位置:/usr/local/JAVA/jdk1.8.0_191/jre/lib/management/
复制一个密码配置:cp jmxremote.password.template jmxremote.password
修改密码:vi jmxremote.password
monitorRole QED
controlRole xiangjin
配置密码文件的权限: chmod 600 jmxremote.password jmxremote.access
3.开放防火墙指定端口,我们这里是 12345.
4.修改hostName,请将127.0.0.1修改为本地真实的IP,我的服务器IP是192.168.16.81
hosts 文件位置:vi /etc/hosts
远程访问介绍完了。
下面我们来介绍一下关于自定义知识。
首先我们需要新建已个interface 名称必须是MBean 结尾
这里值得注意的是途中的名称,要小心。
这里写了一个测试用的main 方法
启动main方法 在打开Jconsole