jvisualVM远程监控JVM(JVM监控)

首先jvisualVM是JDK自带的,位置:jdk的bin包下

以我的示例:
在这里插入图片描述

双击打开

本地那一栏中会显示本机的所有java程序。
在这里插入图片描述

接下来说下,怎么远程监控java程序呢?

首先修改启动jar包的参数:

原始:nohup java -jar weiwen-provider-uac.jar &

修改如下:(注释可省略)

   nohup java
    -Djava.rmi.server.hostname=192.168.0.10  #ip地址
    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=8066 #设置端口 
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.ssl=false
    -jar weiwen-provider-uac.jar

参数介绍

指定了服务器主机名

Djava.rmi.server.hostname=192.168.0.10

指定了JMX启动的代理端口,这个端口就是visualvm要连接的端口(8066端口不能被别的程序使用netstat -anp | gerp 8066)

Dcom.sun.management.jmxremote.port=8066

指定了JMX是否启用ssl

Dcom.sun.management.jmxremote.ssl=false

指定了JMX是否启用鉴权(需要用户名,密码鉴权)

Dcom.sun.management.jmxremote.authenticate=false

修改完启动参数,将java程序启动,如下:

在这里插入图片描述

启动成功后,咱们用jvisualVM来监控java程序

右键点击远程,添加远程主机
在这里插入图片描述

把刚才的配置的ip,输入进去
在这里插入图片描述

然后,右键点击刚才配置的远程主机,点击添加JMX链接

在这里插入图片描述

点击确定即可
在这里插入图片描述

在此监控java程序的内存,cpu等情况

在这里插入图片描述

异常处理:

以下是在远程监控服务器上jvm(java程序)时报的错:
在这里插入图片描述

解决方案:

在启动参数中加入一行参数即可:如下

同时指定为本地jmx client提供服务的端口与远程服务端口相同

-Dcom.sun.management.jmxremote.rmi.port=8066

完整配置如下:

  		 nohup java
        -Djava.rmi.server.hostname=192.168.0.10  #ip地址
        -Dcom.sun.management.jmxremote
        -Dcom.sun.management.jmxremote.port=8066 #设置端口 
        -Dcom.sun.management.jmxremote.rmi.port=8066
        -Dcom.sun.management.jmxremote.authenticate=false
        -Dcom.sun.management.jmxremote.ssl=false
        -jar weiwen-provider-uac.jar

重新启动即可

详细请参考jvisualVM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值