Java VisualVM 远程监控JVM

如果你还没有安装java VisualVM,请参照下文安装:

https://blog.csdn.net/yujianping_123/article/details/99549194

 

远程监控Linux服务器

操作如下图:

添加远程主机,输入主机名或者IP,确定

Java VisualVM 远程监控JVM_第1张图片

添加JMX连接:

Java VisualVM 远程监控JVM_第2张图片

配置远程JVM启动时的JMX。

增加JAVA_OPTS配置

JAVA_OPTS="$PREPEND_JAVA_OPTS $JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.10 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=10011 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

其中,-Djava.rmi.server.hostname 远程jvm服务器(即本机)的ip或者服务器名

-Dcom.sun.management.jmxremote=true 允许jmx

   -Dcom.sun.management.jmxremote.port  设置远程监控端口
   -Dcom.sun.management.jmxremote.ssl=false  不进行ssl通信
   -Dcom.sun.management.jmxremote.authenticate =false  不进行用户名和密码通信

 

如果在配置过程中报错 org.jboss.logmanager.LogManager 找不到或者不兼容,请参考:

https://blog.csdn.net/yujianping_123/article/details/100979989

 

添加JMX连接,不需要安全凭证,端口是10011

Java VisualVM 远程监控JVM_第3张图片


Java VisualVM 远程监控JVM_第4张图片

Java VisualVM 远程监控JVM_第5张图片

但是visual Gc连不上,是因为此插件使用的协议是RMI,因此需要使用下面的jstatd方式进行连接。

Java VisualVM 远程监控JVM_第6张图片

 

配置jstatd

创建文件jstatd-all.policy 并复制下列内容

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

保存在某个目录,如:/home/policy

然后执行:
jstatd -J-Djava.security.policy=/home/policy/jstatd-all.policy -J-Djava.rmi.server.hostname=192.168.1.10  -J-Djava.rmi.server.logCalls=true

可选参数 -p 1099 指定服务的端口号,默认是1099 .

执行后成功:

Java VisualVM 远程监控JVM_第7张图片

你可能感兴趣的:(JVM)