配置 jvisualvm 监控Java虚拟机

https://blog.csdn.net/xiaoye319/article/details/103454246

 

 

无论是监控局域网还是远程java虚拟机运行的情况,都可以用jdk自带的jvisualvm进行远程监控。本文就是介绍如何配置在jvisualvm上远程监控虚拟机的运行情况。

一、前提说明

1、JMX能监控CPU、堆、类、线程的使用情况,但是无法监控GC的具体情况,如果需要监控GC的具体情况,得配置jstatd远程监控。

2、配置远程监控,前提是得设置好服务器的ip,如果使用hostname -i看到的是127.0.0.1,那么就是ip没配置好,自己去/etc/hosts中配置好实际ip。

二、配置JMX远程监控

1、配置参数配置

如果是用启动jar包,那么在启动脚本或者启动命令中加入以下命令:

-Dcom.sun.management.jmxremote.port=5050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.0.40

如果使用tomcat启动的,那么就在tomcat的tomcat/bin/catalina.sh中加入以下命令:

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote

-Djava.rmi.server.hostname=192.168.0.40 -Dcom.sun.management.jmxremote.port=5050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
参数说明:

-Dcom.sun.management.jmxremote.port:配置一个远程服务器上未被占用的端口

-Dcom.sun.management.jmxremote.ssl=false:配置 JMX 是否启用 ssl

-Dcom.sun.management.jmxremote.authenticate=false:配置 JXM 是否启动鉴权

-Djava.rmi.server.hostname:配置服务器 IP

2、jvisualvm配置JMX

点击远程添加你的服务器ip,然后选中服务器右击选择添加JMX连接,然后输入端口号,端口号就是上面命令中你设置的端口号,如果你选择了启动ssl校验,就输入服务器的登录账号和密码,然后点击确定。

然后你就能看到虚拟机的运行情况了,但是无法看到Visual GC的具体情况,如果想看具体的GC情况,继续配置jstatd。

三、配置jstatd远程监控

1、在远程服务器的任何一个目录创建文件jstatd.all.policy,我是在/home目录下创建的,在文件中加入以下内容

  1.  
    grant codebase "file:/usr/local/jdk1.8.0_161/lib/tools.jar" {
  2.  
    permission java.security.AllPermission;
  3.  
    };

注意:jdk的路径根据自己的具体jdk配置

2、启动jstatd

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.0.40 -J-Djava.rmi.server.logCalls=true -J-Djava.net.preferIPv4Stack=true -p 5056

参数说明:

-J-Djava.security.policy=jstatd.all.policy 指jstatd.all.policy文件的定路径

-J-Djava.rmi.server.logCalls=true:是否打印日志

-J-Djava.rmi.server.hostname=192.168.19.114:配置服务器地址

-p:指定端口

然后jps查看jstatd是否启动了,如果启动了再进行下一步

3、jvisualvm配置jstatd

选中服务器右击选择添加jstatd连接,然后输入端口号,端口号就是上面命令中你设置的端口号,然后点击确定

左边就是你是服务器上运行的进程了,选择你想看的进程,在监控中你会发现CPU的监控看不了,所以如果想看CPU就配置JMX连接,如果想看GC回收情况,则配置jstatd

posted @ 2020-12-30 10:16  YunMan  阅读(244)  评论(0编辑  收藏  举报