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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jvisualvm的使用

發布時間:2023/12/10 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jvisualvm的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jvisualvm的使用

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

1、Windows監控本地的JVM

1.1、首先需要配置JAVA環境

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

?1.3、在上面界面中的”本地”中,選擇需要監控的JAVA進程,點擊連接

監控:顯示的是當前系統的CPU、內存、類和線程的相關資源的使用情況。其中"堆dump"可以查看堆的詳細狀態,包括堆的概況,里面所有的類,還能點進具體的一個類查看這個類的狀態。

線程:能夠顯示線程的名稱和運行的狀態,在調試多線程時必不可少,而且可以點進一個線程查看這個線程的詳細運行情況

2、遠程監控JVM(Tomcat示例)

遠程服務器:centos7 ??中間件:Tomcat

3.1、服務端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" ?//關閉ssl認證

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false" ?//關閉用戶密碼認證

其他jar包應用,在啟動文件中添加:

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監控

點擊”文件”,選擇“添加JMX連接”

?

?

jvisualvm使用密碼進行訪問

1、服務端配置中修改: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。進去將內容全部刪去,添加一行

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

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

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

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

chmod 600 jmxremote.access ?jmxremote.password

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

?因為未配置SSL,所以這里選是

正常監控:

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

?

?

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

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。