使用jvisualvm配合VisualGC插件监控远程jvm

前言

最近在正式环境的浏览器中访问系统,发现速度时快时慢,就想监控一下服务器的jvm的运行情况。

添加JMX连接的用户和角色可以参考这个链接

但是只是用JMX连接时,VisualGC显示不支持此JVM。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KkDGFYUA-1596807876411)(http://blog.anyexception.com/upload/2020/08/image-48a26e4daa6c415eb425fc956cd2e7a2.png)]

后来在百度搜索到问题原因,说是要加一个jstatd连接才行,那么开始吧!

00

首先在服务器的${user.home}目录下创建一个文件,文件名称叫做".java.policy",文件内容如下

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

这个目录和文件名称都不能改变,这个是有依据的,可以查看服务器的这个目录下的这个文件.

${java.home}/jre/lib/security/java.security
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3SepLcaE-1596807876414)(http://blog.anyexception.com/upload/2020/08/image-040e945578b649fab7699b3a3bf6ac00.png)]
网上说这个文件在随便的位置可以创建,可能就是在这里面加了配置吧,总之这个地方浪费我挺多时间的。

01

启动一个jstatd连接(最好是在${java.home}/bin目录下执行命令,如果配置了环境变量就无所谓了),使用如下命令

[root@localhost]# jstatd -J-Djava.security.policy=java.all.policy -J-Djava.rmi.server.hostname=192.168.0.150 -p 19000

这里对参数说明一下

  • -J-Djava.security.policy=java.all.policy #这个是指定安全策略,指定的是所有的,单独指定应该也可以,我没有研究
  • -J-Djava.rmi.server.hostname=192.168.0.150 #指定机器的hostname,挺好理解,我这里是内网测试的写了内容地址,云服务器的话需要填写云服务器的公网IP
  • -p #指定端口

02

启动之后,打开本地的jvisualvm,添加一个远程主机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BpwWrLDv-1596807876433)(http://blog.anyexception.com/upload/2020/08/image-b4fef1c422384d7c899b44d3a247c1cf.png)]

点击确定之后,发现就有一个jstatd连接存在了,这个就是服务器上刚刚启动的jstatd进程,我们可以启动自己的服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VOplHt4Q-1596807876439)(http://blog.anyexception.com/upload/2020/08/image-0e32fd7ca07d4b2ba43c27fee72cf171.png)]

启动一个java服务后

image.png

03

对于监控外网服务器的小伙伴,除了我们使用-p参数指定的端口外,还会监听一个随机端口,所以别忘了在防火墙中给这个端口设置放行哦。

END

好了,现在就可以使用jvisualvm和VisualGC监控服务器的JVM了。

新人求关注

新人求关注

原文作者: Zhao Kai
原文链接: http://blog.anyexception.com/archives/使用jvisualvm配合visualgc插件监控远程jvm
版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值