运用 visualVM和jconsole 远程控制JVM
有时候需要监控线上的jvm运行情况,来分析内存使用情况。我们可以通过JMX的方式进行远程监控。
步骤
设置JVM启动参数
//JMX监听的IP地址,如果是局域网,则设置成局域网IP,如果是不同网段,则设置成公网IP。 //Linux环境下面,一定要设置这个参数,如果是windows就不用 -Djava.rmi.server.hostname=192.168.8.212 //JMX端口 -Dcom.sun.management.jmxremote.port=2990 //关闭SSL连接 -Dcom.sun.management.jmxremote.ssl=false //关闭帐号密码验证 -Dcom.sun.management.jmxremote.authenticate=false
启动命令如下 ``` Linux java -Djava.rmi.server.hostname=192.168.8.212 -Dcom.sun.management.jmxremote.port=2990 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar test.jar ```
验证是否启动JMX
1.通过 netstat -apn|grep 2990 看看端口有没有起来
2.通过telnet 一下2990端口看看有没有通,如果不通,可能是防火墙的问题
visualVM建立连接
1.点击远程,新建远程主机
2.点击添加JMX连接,输入端口号
3.连接成功的界面
jconsole连接
1.点击选择连接远程进程,输入IP和端口号
2.连接成功的界面