ZhaoKai 's 分享

  • 文章

  • 搜索
postgresql homebrew brew mac VisualGC jvisualvm 监控 远程 jvm VMware iView Vue spring源码 spring Gradle

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

发表于 2020-08-04 | 分类于 JVM | 0 | 阅读次数 174

前言

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

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

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

image.png

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

00

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

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

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

$/jre/lib/security/java.security
image.png
网上说这个文件在随便的位置可以创建,可能就是在这里面加了配置吧,总之这个地方浪费我挺多时间的。

01

启动一个jstatd连接(最好是在$/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,添加一个远程主机

image.png

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

image.png

启动一个java服务后

image.png

03

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

END

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

Zhao Kai wechat
来关注啊
  • 本文作者: Zhao Kai
  • 本文链接: http://blog.anyexception.com/archives/使用jvisualvm配合visualgc插件监控远程jvm
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# postgresql # homebrew # brew # mac # VisualGC # jvisualvm # 监控 # 远程 # jvm # VMware # iView # Vue # spring源码 # spring # Gradle
设置JMX远程连接的用户名和密码
如何更快速的在MacOS上安装HomeBrew呢
  • 文章目录
  • 站点概览
Zhao Kai

Zhao Kai

努力的学习...

8 日志
8 分类
15 标签
RSS
E-mail
Creative Commons
© 2021 Zhao Kai
由 Halo 强力驱动
|
主题 - NexT.Gemini v5.1.4