启用远程监控:
方式一:启动参数进行配置
启动远程应用需指定jmx相关配置
java -jar
-Djava.rmi.server.hostname=远程服务ip
-Dcom.sun.management.jmxremote.port=18888
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.managementote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
xxx.jar
本地jvisualvm右键远程添加远程主机ip(记得关闭服务器的防火墙,否则无法连接)
右键远程分组下的远程ip右击添加jmx
输入指定的jmx的端口号并点击确认:
连接成功即可查看对应参数:
方式二:使用服务端jdk的jstatd
在jdk的安装目录bin下新建文件jstatd.all.policy输入如下内容(也可以写绝对路径)
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
在jdk的安装目录bin执行以下语句后台启动jstatd,更多启动方式可以看这篇文章jstatd的启动方式与关闭方式_循环网络不循环的博客-CSDN博客:
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服务器ip &
此时你去看jvisualvm就会发现jvisualvm会自动添加jstatd的应用,你就可以看到参数了,但是jstatd 的兼容性比较差,有些参数你可能无法看到。
添加插件:
普通插件:
你可以在工具的位置添加对应的插件,丰富程序的功能。
Visual GC插件:
Visual GC插件需要启动jstatd才可以查看jvm对应年代的情况,因为jstatd是统计整个jvm的内存情况的。如果你是用方式一连接jvisualvm那么你还需要启动jstatd这样才可以统计jvm各个年代的情况。
生成快照:
在利用方式一进行启动的情况下你可以生成对应的堆快照。
手动垃圾回收:
在利用方式一进行启动的情况下你也可以进行手动垃圾回收。