java性能分析jconsole詳解
前言:
本章節(jié)繼續(xù)學(xué)習(xí)java性能優(yōu)化的相關(guān)知識。重點(diǎn)學(xué)習(xí)什么是jconsole,以及如何使用?它能幫助我們做什么?
jconsole簡介
提供JVM圖形化視圖,包括內(nèi)存、線程、類、cpu等信息。用戶可以通過jconsole工具去連接指定的jvm,監(jiān)控jvm的變化。
我們可以在jdk的安裝文件bin當(dāng)中找到它:
雙擊運(yùn)行會打開如下界面,上面是本地的java進(jìn)程,下面是通過遠(yuǎn)程的方式連接服務(wù)器上面的java進(jìn)程。
我們隨便點(diǎn)擊一個本地進(jìn)程得到如下的界面:
jconsole遠(yuǎn)程
jconsole除了可以查看本地的jvm信息,還能夠查看遠(yuǎn)程服務(wù)的jvm信息。前提是在遠(yuǎn)程服務(wù)啟動的時候,添加下面的參數(shù):
-Dcom.sun.management.jmxremote=true # 服務(wù)器ip -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx # 設(shè)置jconsole連接的端口 -Dcom.sun.management.jmxremote.port=8090 # 是否使用賬號密碼 -Dcom.sun.management.jmxremote.authenticate=false # 關(guān)閉ssl -Dcom.sun.management.jmxremote.ssl=false
如下所示:
nohup java -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx -Dcom.sun.management.jmxremote.port=8090 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar -Xms1g -Xmx1g weather-forecast-0.0.1-SNAPSHOT.jar>/dev/null &
此時我們打開windows中的jconsole,進(jìn)行連接:
此時我們?nèi)匀皇遣荒苓B接成功的,主要原因是jmx需要的端口不知我們指定的一個,如我使用的8090,還有另外兩個,使用netstat -nltp
命令查看如下:
所以我們需要在防火墻除 8090 外,將這兩個端口也開放,如果是云服務(wù)器就要去控制臺開放對應(yīng)的策略。完成上面的操作總算可以完成遠(yuǎn)程連接,對我們的jvm進(jìn)行監(jiān)控了。
到此這篇關(guān)于java性能分析jconsole詳解的文章就介紹到這了,更多相關(guān)java jconsole內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正(最新推薦)
北京時間2023年7月26日,IntelliJ IDEA 2023.2正式發(fā)布,IntelliJ IDEA 2023.2 引入 AI Assistant(AI助手),通過一組由 AI 提供支持的功能助力開發(fā),今天給大家分享IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正,感興趣的朋友一起看看吧2023-10-10Mybatis有查詢結(jié)果但存不進(jìn)實(shí)體類的解決方案
這篇文章主要介紹了Mybatis有查詢結(jié)果但存不進(jìn)實(shí)體類的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11關(guān)于JAVA8的 Stream學(xué)習(xí)
這篇文章主要介紹了JAVA8 Stream學(xué)習(xí)方法的相關(guān)資料,需要的朋友可以參考下面文章內(nèi)容2021-09-09java中break和continue區(qū)別及使用場合分析
本文力圖通過實(shí)例加使用場合詳解來引導(dǎo)菜鳥重新認(rèn)識break和continue語句,需要的朋友可以參考下2014-01-01