日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jvisualvm的使用

發(fā)布時(shí)間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jvisualvm的使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

jvisualvm的使用

VisuaIVM(All-in-One Java Troubleshooting Tool)是一款免費(fèi)的,集成了多個(gè) JDK 命令行工具的可視化工具,它提供強(qiáng)大的分析能力,對 Java 應(yīng)用程序做性能分析和調(diào)優(yōu)。這些功能包括生成和分析海量數(shù)據(jù)、跟蹤內(nèi)存泄漏、監(jiān)控垃圾回收器、執(zhí)行內(nèi)存和 CPU 分析,同時(shí)它還支持在 MBeans 上進(jìn)行瀏覽和操作。是目前為止功能最強(qiáng)大的運(yùn)行監(jiān)測和故障處理工具。

1、Windows監(jiān)控本地的JVM

1.1、首先需要配置JAVA環(huán)境

1.2、進(jìn)入jvisualvm目錄,路徑:%JAVA_HOME%/bin下面的jvisualvm,雙擊jvisualvm.exe,彈出頁面

?1.3、在上面界面中的”本地”中,選擇需要監(jiān)控的JAVA進(jìn)程,點(diǎn)擊連接

監(jiān)控:顯示的是當(dāng)前系統(tǒng)的CPU、內(nèi)存、類和線程的相關(guān)資源的使用情況。其中"堆dump"可以查看堆的詳細(xì)狀態(tài),包括堆的概況,里面所有的類,還能點(diǎn)進(jìn)具體的一個(gè)類查看這個(gè)類的狀態(tài)。

線程:能夠顯示線程的名稱和運(yùn)行的狀態(tài),在調(diào)試多線程時(shí)必不可少,而且可以點(diǎn)進(jìn)一個(gè)線程查看這個(gè)線程的詳細(xì)運(yùn)行情況

2、遠(yuǎn)程監(jiān)控JVM(Tomcat示例)

遠(yuǎn)程服務(wù)器:centos7 ??中間件:Tomcat

3.1、服務(wù)端Tomcat配置

1、Tomcat的catalina.sh需要配置,重啟tomcat

JAVA_OPTS="$JAVA_OPTS ?-Djava.rmi.server.hostname=10.1.1.145"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.port=9000"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.rmi.port=9000"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.ssl=false"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.authenticate=false"

備注

JAVA_OPTS="$JAVA_OPTS ?-Djava.rmi.server.hostname=10.1.1.145" ??//指定jconsole連接的IP

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.port=9000" //指定jconsole連接端口

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.rmi.port=9000" ?//這句一定要添加,不添加就無法成功

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.ssl=false" ?//關(guān)閉ssl認(rèn)證

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false" ?//關(guān)閉用戶密碼認(rèn)證

其他jar包應(yīng)用,在啟動(dòng)文件中添加:

nohup java -Djava.rmi.server.hostname=10.1.1.145 ?-Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.rmi.port=9000 -Dcom.sun.management.jmxremote.ssl=false ?-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar ???xxx.jar &

2、修改/etc/hosts

注釋掉127.0.0.1 ?

新增:10.1.1.145 ?localhost localhost.localdomain

3、查看9000端口是否有

$netstat -ntlp

4、jvisualvm監(jiān)控

點(diǎn)擊”文件”,選擇“添加JMX連接”

?

?

jvisualvm使用密碼進(jìn)行訪問

1、服務(wù)端配置中修改:authenticate=true

? ?-Dcom.sun.management.jmxremote.authenticate=true

? ?-Dcom.sun.management.jmxremote.pwd.file= ????//指定正確的密碼文件

JAVA_OPTS="$JAVA_OPTS ?-Djava.rmi.server.hostname=10.1.1.145"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.port=9000"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.rmi.port=9000"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.ssl=false"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.authenticate=true"

JAVA_OPTS="$JAVA_OPTS ?-Dcom.sun.management.jmxremote.pwd.file=/home/cg/java/jdk1.8.0_221/jre/lib/management/jmxremote.password"

2、Jdk/jre/lib/management下的jmxremote.password.template,拷貝一份叫jmxremote.password。進(jìn)去將內(nèi)容全部刪去,添加一行

monitorRole ?123456? ?//(用戶名,密碼)

controlRole ??123456 ?//(用戶名,密碼)

備注:monitorRole ?和monitorRole ?用戶已在jmxremote.access配置(模板)

3、將jmxremote.password和jmxremote.access改成600權(quán)限,和所屬該程序用戶

chmod 600 jmxremote.access ?jmxremote.password

4、jvisualvm使用用戶名和密碼訪問(例如:controlRole/123456)

?因?yàn)槲磁渲肧SL,所以這里選是

正常監(jiān)控:

其他:如不輸入用戶名和密碼,會自動(dòng)彈出需要用戶名和密碼

?

?

參考:https://www.jianshu.com/p/0308983dc04c

https://blog.csdn.net/qq_23986927/article/details/113242408

總結(jié)

以上是生活随笔為你收集整理的jvisualvm的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。