在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 &
使用VisualVM连接远程主机
连接成功显示结果
-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"
点击确定之后,成功连接显示结果如下