Jvisualvm監(jiān)控遠程SpringBoot項目的過程詳解
注意:VisualVM連接遠程服務(wù)器有兩種方式:JMX和jstatd,兩種方式都不能完美支持所有功能,
例如JMX不支持VisualGC,
jstatd不支持CPU監(jiān)控,
實際使用可同時配置上并按需選用。
jvisualvm程序添加遠程連接,請關(guān)閉本機防火墻。
JMX
1.修改SpringBoot啟動參數(shù)
正常的springboot啟動命令為
nohup java -jar demo.jar &
使用監(jiān)控后:
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監(jiān)控遠程





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

jstatd
1.添加配置
這種方式需要你手動安裝JDK才行, 或者你知道jdk在哪里
在jdk目錄下的bin創(chuàng)建
vi jstatd.all.policy
我這邊指定了絕對路徑,方便排除路徑方面的影響
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
啟動jstatd后臺應(yīng)用 端口(默認為1099) 使用參數(shù)-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文件。如果是在其他地方執(zhí)行,記得指定絕對或相對路徑)
其中,
-J-Djava.security.policy=jstatd.all.policy 指定路徑 -J-Djava.rmi.server.logCalls=true 打印日志 -J-Djava.rmi.server.hostname=192.168.81.149 指定主機名,主機名應(yīng)該和你用hostname -i命令執(zhí)行出來的結(jié)果一致。
啟動項目
java -jar jvm-1.0-SNAPSHOT.jar
2.使用本地jvisualvm監(jiān)控遠程



這個1,098 其實是我們輸入的時候,1098自動轉(zhuǎn)換的

到此這篇關(guān)于Jvisualvm監(jiān)控遠程SpringBoot項目的文章就介紹到這了,更多相關(guān)Jvisualvm監(jiān)控遠程SpringBoot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springcloud gateway聚合swagger2的方法示例
這篇文章主要介紹了springcloud gateway聚合swagger2的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04
mybatis/mybatis-plus模糊查詢語句特殊字符轉(zhuǎn)義攔截器的實現(xiàn)
在開發(fā)中,我們通常會遇到這樣的情況。用戶在錄入信息是錄入了‘%’,而在查詢時無法精確匹配‘%’。究其原因,‘%’是MySQL的關(guān)鍵字,如果我們想要精確匹配‘%’,那么需要對其進行轉(zhuǎn)義,本文就詳細的介紹一下2021-11-11
Spring中過濾器(Filter)和攔截器(Interceptor)的區(qū)別和聯(lián)系解析
在我們?nèi)粘5拈_發(fā)中,我們經(jīng)常會用到Filter和Interceptor,這篇文章主要介紹了Spring中過濾器(Filter)和攔截器(Interceptor)的區(qū)別和聯(lián)系?,需要的朋友可以參考下2022-10-10
JAVA Spring中讓人頭痛的JAVA大事務(wù)問題要如何解決你知道嗎
這篇文章主要介紹了Java Spring事務(wù)使用及驗證過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2021-09-09
org.springframework.web.client.ResourceAccessException資源訪問錯誤
本文主要介紹了org.springframework.web.client.ResourceAccessException資源訪問錯誤的解決方法,首先需要分析異常的詳細信息,以確定具體的錯誤原因,感興趣的可以了解一下2024-05-05

