配置 jvisualvm 監控Java虛擬機

配置JMX遠程鏈接

1. 配置啓動參數

啓動jar時,添加以下配置-Dcom.sun.management.jmxremote.port=5050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.94.23java

啓動參數說明服務器

  1. -Dcom.sun.management.jmxremote.port:配置一個遠程服務器上未被佔用的端口
  2. -Dcom.sun.management.jmxremote.ssl=false:配置 JMX 是否啓用 ssl
  3. -Dcom.sun.management.jmxremote.authenticate=false:配置 JXM 是否啓動鑑權
  4. -Djava.rmi.server.hostname:配置服務器 IP

2. 配置 jvisualvm

添加遠程主機信息,填寫主機名,端口。端口就是上面啓動參數中配置的端口。
添加遠程主機.net

添加 JXM 鏈接,點擊確認。
添加 JXM 鏈接
添加成功後,即可以開始監控虛擬機了。3d

注意:JMX 不支持查看 visual GC,須要用 jstatd 來監控。日誌

配置jstatd遠程鏈接

1. 建立文件 jstatd.all.policy

grant codebase "file:/usr/local/jdk1.8.0_161/lib/tools.jar" {  
   permission java.security.AllPermission;  
};

2. 啓動 jstatd

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.94.23 -J-Djava.rmi.server.logCalls=true -J-Djava.net.preferIPv4Stack=true -p 5056code

啓動參數說明server

  1. -J-Djava.security.policy=jstatd.all.policy 指jstatd.all.policy文件的定路徑
  2. -J-Djava.rmi.server.logCalls=true:是否打印日誌
  3. -J-Djava.rmi.server.hostname=192.168.19.114:配置服務器地址
  4. -p:指定端口

3. 配置 jvisualvm

選擇遠程服務器,右鍵添加 jstatd 鏈接,填寫端口號,端口號爲上面啓動 jstatd 指定的端口。
添加 jstatd 鏈接blog

添加成功後,在服務器列表會展現出服務器上全部的 Java 虛擬機應用。根據應用名稱或者端口號選擇須要監控的服務便可開始監控。此時發現 visual GC 頁面已經能夠查看了。ssl

相關文章
相關標籤/搜索