mac java visualvm_用visualvm观察远程服务器java项目的两种办法

本人的visualvm是1.4.2的mac版本

首先,需要连接远程服务器:

右击remote,选择add remote host

48074eeee4cf80c90c77b5221e57fb62.png

填写远程服务器地址:

36d80272c85d58ab50ad70738a51d948.png

准备工作已经做好,下面将visual vm的两种连接远程java的方法。

法一:jstatd

356cbc90be4a818bb586c560fc692dfb.png

用jstatd需要在远程服务器上启动一下jstatd,步骤如下:

【远程服务器上】

1.cd ${JAVA_HOME}/bin

2.sudo vi jstatd.all.policy

其中jstatd.all.policy 文件内容如下:

grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.AllPermission;

};

3.jstatd -J-Djava.security.policy=jstatd.all.policy &

b1929240073814665fdbb5cf50de8435.png

此时jstatd启动成功,在本地的visualvm可以看到如图,可以进行自行查看。

cb3f769e995d8b046b9fdfb8d43c5da5.png

法二:用jmx

【远程服务器】上

1.

cd ${JAVA_HOME}/

cd jre/

cd lib/

cd management/

cp jmxremote.password.template jmxremote.password

sudo vi jmxremote.password

文件中将monitorRole  QED和 controlRole   R&D前的注释去掉,然后保存

2.更改java参数

我用的是supervisor进行java进程管理。

cd /etc/supervisord.d/

在java启动项里加上

-Djava.rmi.server.hostname=【远程服务器的ip】 -Dcom.sun.management.jmxremote.port=18999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

3.重启supervisor

sudo supervisorctl reload

在本地的visual vm上添加jmx

944639403e6c17b036622bb38713369d.png

填上你的远程服务器的ip以及刚刚在java参数里配的端口18999:

2b1fc81602c01239970cae8b17530d75.png

点击ok,可以看到添加成功:

b65c01506d64f7497fd25626189fa2f5.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值