首頁  >  文章  >  Java  >  Jvisualvm監控遠端SpringBoot專案的方法

Jvisualvm監控遠端SpringBoot專案的方法

PHPz
PHPz轉載
2023-05-27 10:02:241893瀏覽

注意:VisualVM連接遠端伺服器有兩種方式:JMX和jstatd,兩種方式都無法完美支援所有功能,

例如JMX不支援VisualGC,

#jstatd不支援CPU監控

實際使用可同時配置上並按需選用。

jvisualvm程式新增遠端連接,請關閉本機防火牆。

JMX

1.修改SpringBoot啟動參數

正常的springboot啟動指令為

nohup java -jar demo.jar &

使用監控後:

nohup java -Djava.rmi.server.hostname=192.168.81.149 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar jvm-1.0-SNAPSHOT.jar &
java -Djava.rmi.server.hostname=192.168.81.149 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar jvm-1.0-SNAPSHOT.jar

jvm -1.0-SNAPSHOT.jar 是專案的jar套件

192.168.81.149 是專案部署的機器ip

1099是jvisualvm需要連接的遠端連接埠號碼

authenticate=false不啟用,使用者認證

2.使用本機jvisualvm監控遠端

Jvisualvm監控遠端SpringBoot專案的方法

Jvisualvm監控遠端SpringBoot專案的方法

Jvisualvm監控遠端SpringBoot專案的方法

Jvisualvm監控遠端SpringBoot專案的方法

Jvisualvm監控遠端SpringBoot專案的方法

打開後又可能啥都沒有,空蕩蕩的,這是因為項目需要有人訪問下,隨便都行

Jvisualvm監控遠端SpringBoot專案的方法

jstatd

1.新增設定

這種方式需要你手動安裝JDK才行, 或你知道jdk在哪裡

在jdk目錄下的bin創建

vi jstatd.all.policy

我這邊指定了絕對路徑,方便排除路徑方面的影響

grant codebase "file:${java.home}/../lib/tools.jar" {    
    permission java.security.AllPermission;    
};

啟動jstatd後台應用端口(預設為1099) 使用參數-p可指定其它端口

jstatd -J-Djava.security.policy=jstatd.all.policy \
-J-Djava.rmi.server.hostname=192.168.81.149 \
-J-Djava.rmi.server.logCalls=true  -p 1098

(我是在/usr/local/jdk1.8.0_161/bin路徑下運行的下面的命令,該路徑下就有jstatd.all.policy文件。如果是在其他地方執行,記得指定絕對或相對路徑)

其中,

-J-Djava.security.policy=jstatd.all.policy 指定路径
-J-Djava.rmi.server.logCalls=true  打印日志
-J-Djava.rmi.server.hostname=192.168.81.149  指定主机名,主机名应该和你用hostname -i命令执行出来的结果一致。

啟動專案

java  -jar jvm-1.0-SNAPSHOT.jar

2.使用本機jvisualvm監控遠端

Jvisualvm監控遠端SpringBoot專案的方法

Jvisualvm監控遠端SpringBoot專案的方法

Jvisualvm監控遠端SpringBoot專案的方法

Jvisualvm監控遠端SpringBoot專案的方法

### ####################這個1,098 其實是我們輸入的時候,1098自動轉換的############

以上是Jvisualvm監控遠端SpringBoot專案的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除