java11使用VisualVm配置远程Jstatd与JMX连接

VisualVm是官方提供的JVM监控工具,能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象,GC活动,反向查看分配的堆栈等等,值得我们去学习。

1.Jstatd:

1.1配置jstatd.policy

在java11中由于没有tools.jar,所以原有的配置jstatd.policy方式行不通
jstatd.policy改成如下即可

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

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

1.2 在服务器中启动jstatd

jstatd -J-Djava.rmi.server.hostname=79.129.161.x -J-Djava.security.policy=./jstatd.policy -p 1100
注意

hostname是自己的服务器ip地址
如果不用-p参数指定端口,则默认是1099端口

1.3 配置客户端连接

在visualvm中点击File/AddRemoteHost,如下输入服务器地址/端口即可
添加连接
但是此时的visualvm监控是不完整的虽然可以监控GC,堆,类线程等情况,但是无法监控CPU使用情况以及无法查看MBeans,这就要配置JMX连接

2.JMX

抱歉,没有。
我使用OpenJdk的jdk11.0.2,jdk11.0.1在两个不同的搭载CentOS7系统的服务器上测试网上所谓的配置jmx连接,一点用都没有,在Ubuntu18上测试也没用。接连搞了好几天没什么进展,真是日了狗了(Sad
如下为网传配置:

-Dcom.sun.management.jmxremote.port=2222
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.rmi.port=2222
-Djava.rmi.server.hostname=yourIP
-Dcom.sun.management.jmxremote.local.only=false

如果日后找到方法,我就更新该博文,也欢迎大家给我提供正确的方法。
半残状态下所有关于CPU的相关监控就没有了,不过VisualGC功能还是完整的。
在这里插入图片描述
在这里插入图片描述

参考资料

欢迎访问我的 个人网站(主要), Github, 优快云(主要), 博客园, 简书, 掘金, 知乎, 微信公众号:HelloVant(主要)

本文采用 知识共享 署名-非商业性使用-禁止演绎(CC by-nc-nd) 4.0 国际 许可协议 授权

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值