jVisualVM远程监控JVM

在jdk安装目录bin下,新建文件 jstatd.all.policy,内容如下:

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

启动jstatd
nohup ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=IP &

image.png

使用VisualVM连接远程主机


image.png

连接成功显示结果


image.png

-J-Djava.rmi.server.hostname=IP
– IPv6 problems: On rare occassions it can help to force jstatd and/or VisualVM to use IPv4:
-J-Djava.net.preferIPv4Stack=true
– Enable logging: If the steps above don’t work, you could try to enable some extra logging to jstatd to see if you can trace the problem:
-J-Djava.rmi.server.logCalls=true

jstatd监控看不到线程dump和cpu监控
添加JMX连接
java程序启动的时候添加jmx参数

export JAVA_OPTS="-server -Xms512m -Xmx512m -Djava.rmi.server.hostname=10.199.187.188 -Dcom.sun.management.jmxremote.port=1100 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

image.png

点击确定之后,成功连接显示结果如下

image.png

你可能感兴趣的:(jVisualVM远程监控JVM)