javascript
Jvisualvm监控远程SpringBoot项目
注意:VisualVM連接遠(yuǎn)程服務(wù)器有兩種方式:JMX和jstatd,兩種方式都不能完美支持所有功能,
例如JMX不支持VisualGC,
jstatd不支持CPU監(jiān)控,
實(shí)際使用可同時(shí)配置上并按需選用。
jvisualvm程序添加遠(yuǎn)程連接,請(qǐng)關(guān)閉本機(jī)防火墻。
JMX
1.修改SpringBoot啟動(dòng)參數(shù)
正常的springboot啟動(dòng)命令為
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.jarjvm-1.0-SNAPSHOT.jar 是項(xiàng)目的 jar包
192.168.81.149 是項(xiàng)目部署的機(jī)器ip
1099是jvisualvm需要連接的遠(yuǎn)程端口號(hào)
authenticate=false 不啟用,用戶認(rèn)證
2.使用本地jvisualvm監(jiān)控遠(yuǎn)程
打開后又可能啥都沒有,空蕩蕩的,這是因?yàn)轫?xiàng)目需要有人訪問下,隨便都行
jstatd
1.添加配置
這種方式需要你手動(dòng)安裝JDK才行, 或者你知道jdk在哪里
在jdk目錄下的bin創(chuàng)建
vi jstatd.all.policy我這邊指定了絕對(duì)路徑,方便排除路徑方面的影響
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };啟動(dòng)jstatd后臺(tái)應(yīng)用 端口(默認(rèn)為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路徑下運(yùn)行的下面的命令,該路徑下就有jstatd.all.policy文件。如果是在其他地方執(zhí)行,記得指定絕對(duì)或相對(duì)路徑)
其中,
-J-Djava.security.policy=jstatd.all.policy 指定路徑 -J-Djava.rmi.server.logCalls=true 打印日志 -J-Djava.rmi.server.hostname=192.168.81.149 指定主機(jī)名,主機(jī)名應(yīng)該和你用hostname -i命令執(zhí)行出來的結(jié)果一致。啟動(dòng)項(xiàng)目
java -jar jvm-1.0-SNAPSHOT.jar2.使用本地jvisualvm監(jiān)控遠(yuǎn)程
這個(gè)1,098 其實(shí)是我們輸入的時(shí)候,1098自動(dòng)轉(zhuǎn)換的
總結(jié)
以上是生活随笔為你收集整理的Jvisualvm监控远程SpringBoot项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SharePoint 2010 网站模板
- 下一篇: 理解 JavaScript 闭包