配置JMX遠(yuǎn)程連接
1. 配置啟動(dòng)參數(shù)
啟動(dòng)jar時(shí),添加如下配置-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.23
啟動(dòng)參數(shù)說明
-
-Dcom.sun.management.jmxremote.port
:配置一個(gè)遠(yuǎn)程服務(wù)器上未被占用的端口 -
-Dcom.sun.management.jmxremote.ssl=false
:配置 JMX 是否啟用 ssl -
-Dcom.sun.management.jmxremote.authenticate=false
:配置 JXM 是否啟動(dòng)鑒權(quán) -
-Djava.rmi.server.hostname
:配置服務(wù)器 IP
2. 配置 jvisualvm
添加遠(yuǎn)程主機(jī)信息峦剔,填寫主機(jī)名精肃,端口壶愤。端口就是上面啟動(dòng)參數(shù)中配置的端口蹬音。
添加 JXM 連接弓候,點(diǎn)擊確認(rèn)盟步。
添加成功后藏斩,便可以開始監(jiān)控虛擬機(jī)了。
注意:JMX 不支持查看 visual GC却盘,需要用 jstatd 來監(jiān)控狰域。
配置jstatd遠(yuǎn)程連接
1. 創(chuàng)建文件 jstatd.all.policy
grant codebase "file:/usr/local/jdk1.8.0_161/lib/tools.jar" {
permission java.security.AllPermission;
};
2. 啟動(dòng) 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 5056
啟動(dòng)參數(shù)說明
-
-J-Djava.security.policy=jstatd.all.policy
指jstatd.all.policy文件的定路徑 -
-J-Djava.rmi.server.logCalls=true
:是否打印日志 -
-J-Djava.rmi.server.hostname=192.168.19.114
:配置服務(wù)器地址 -
-p
:指定端口
3. 配置 jvisualvm
選擇遠(yuǎn)程服務(wù)器,右鍵添加 jstatd 連接黄橘,填寫端口號(hào)兆览,端口號(hào)為上面啟動(dòng) jstatd 指定的端口。
添加成功后塞关,在服務(wù)器列表會(huì)展示出服務(wù)器上所有的 Java 虛擬機(jī)應(yīng)用拓颓。根據(jù)應(yīng)用名稱或者端口號(hào)選擇需要監(jiān)控的服務(wù)即可開始監(jiān)控。此時(shí)發(fā)現(xiàn) visual GC 頁面已經(jīng)可以查看了描孟。