JVM-visualVM远程连接服务器

1.  要想监控远程服务器,需要在服务器上运行 jstatd 守护进程。下面以 CentOs 为例
 $JAVA_HOME/bin目录下运行  ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=xxx.xx.xx.xx 

xxx.xx.xx.xx为服务器ip

可能报错:

access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.security.AccessController.checkPermission(AccessController.java:886)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.System.setProperty(System.java:792)
at sun.tools.jstatd.jstatd.main(jstatd.java:139)

解决办法,编辑 $JAVA_HOME/jre/lib/security/java.policy 文件,在最后添加 permission java.security.AllPermission; 

 

再次运行。

2.  打开visualVm  ->远程, 输入服务器ip 连接 即可

 

相关文章

jinfo 命令可以用来查看 Java 进程运行的 JVM 参数,命令如下...
原文链接:https://www.cnblogs.com/niejunlei/p/5987611.ht...
java 语言, 开发者不能直接控制程序运行内存, 对象的创建都是...
jvm
1.jvm的简单抽象模型:  2.类加载机制     双亲委派模...
堆外内存JVM启动时分配的内存,称为堆内存,与之相对的,在代...
1.springboot和tomcat2.springcloud的请求如何通过网关鉴权?...