jvisualvm远程连接的三种方式

基于jatatd实现远程连接

jstatd是一个基于RMI (Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口,从而允许监控工具远程地连接到本地的JVM

配置安全策略

默认情况下,Java的安全策略比较严格,并不允许jstatd直接启动,因此,需要设置下安全策略。不同的JDK版本配置方式不同,主要是由于JDK9开始,已经不再有tools.jar导致的。
创建安全策略文件,命名为:jstatd.all.policy,下面是各个版本的配置方式:

Jdk8以及更低版本

grant codebase "file:${java.home}/../lib/tools.jar" {
   permission java.security.AllPermission;
};

jdk9以及更高版本

grant codebase "jrt:/jdk.jstatd" {
   permission java.security.AllPermission;
};

grant codebase "jrt:/jdk.internal.jvmstat" {
   permission java.security.AllPermission;
};

启动jstatd

根据jdk版本创建文件,写入上面的内容

[bushro@hadoop132 ~]$ vim jstatd.all.policy
  • 远程服务器上执行
  • 执行jstatd命令的用户和你jstatd想连接的应用必须拥有相同的用户凭证。如果说jar是使用root启动的,那么下面的命令也要用root执行。

在jstatd.all.policy所在目,执行如下命令

jstatd -J-Djava.security.policy=./jstatd.all.policy \
-J-Djava.rmi.server.hostname=192.168.233.132 \
-J-Djava.rmi.server.logCalls=true \
-p 1231
  • java.security.policy:指定上面策略文件的路径,使用相对路径或绝对路径均可
  • java.rmi.server.hostname:指定成允许连接的IP地址、主机名或域名
  • java.rmi.server.logCalls:打印日志
  • -p:用来指定注册端口,默认1099

另外开一个窗口查看jstatd使用到的端口
在这里插入图片描述
开放监听端口或者关闭防火墙都可以

# 开放1231(取决于启动jstatd的-p参数)、14776端口(随机,
  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原飞木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值