JVM-visualVM遠端連線伺服器
阿新 • • 發佈:2022-02-18
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 連線 即可