上面兩篇文章說(shuō)了下jdk自帶的命令監(jiān)控工具,本文說(shuō)下可視化的工具JConsole,這個(gè)是jdk自帶的圖形化性能監(jiān)控工具。通過(guò)JConsole工具可以看到Java應(yīng)用程序運(yùn)行情況,可以監(jiān)控" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)站運(yùn)營(yíng) > 虛擬機(jī)系列:虛擬機(jī)性能監(jiān)控可視化工具-JConsole

虛擬機(jī)系列:虛擬機(jī)性能監(jiān)控可視化工具-JConsole

時(shí)間:2023-06-27 23:36:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-06-27 23:36:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

虛擬機(jī)系列:虛擬機(jī)性能監(jiān)控可視化工具-JConsole:

上面兩篇文章說(shuō)了下jdk自帶的命令監(jiān)控工具,本文說(shuō)下可視化的工具JConsole,這個(gè)是jdk自帶的圖形化性能監(jiān)控工具。通過(guò)JConsole工具可以看到Java應(yīng)用程序運(yùn)行情況,可以監(jiān)控到堆信息,類(lèi)加載情況,線(xiàn)程信息等。 其實(shí)就是把前篇說(shuō)的命令工具可視化了

打開(kāi)并連接Java程序

JConsole程序是在%JAVA_HOME%/bin的目錄下,直接雙擊即可啟動(dòng)客戶(hù)端,如下圖




共有兩種連接方式,分別是本地進(jìn)程的連接和遠(yuǎn)程進(jìn)程的連接

本地進(jìn)程:本地進(jìn)程下面羅列的是本機(jī)上正在運(yùn)行的Java程序,直接雙擊即可進(jìn)入到這個(gè)進(jìn)程的監(jiān)控頁(yè)面。

遠(yuǎn)程進(jìn)程:可以通過(guò)地址和端口連接遠(yuǎn)程的Java進(jìn)程,但是遠(yuǎn)程的進(jìn)程啟動(dòng)的時(shí)候需要指定一些參數(shù),如下

-Djava.rmi.server.hostname=127.0.0.1 //遠(yuǎn)程服務(wù)器的IP(本地可訪問(wèn))-Dcom.sun.management.imxremote -Dcom.sun.management.jmxremote.port=5555 // 遠(yuǎn)程服務(wù)器的端口(隨便定一個(gè),用于JMX管理該進(jìn)程)-Dcom.sun.management.jmxremote.authenticate=false // 是否驗(yàn)證(true的話(huà)需要配置密碼,自行百度吧)-Dcom.sun.management.jmxremote.ssl=false //ssl控制用以上參數(shù)啟動(dòng)Java應(yīng)用程序,然后在遠(yuǎn)程連接中填入 127.0.0.1:5555 點(diǎn)擊連接即可




概況

在點(diǎn)擊連接后,直接進(jìn)入到概況界面。如下圖,共有4個(gè)實(shí)時(shí)的折線(xiàn)圖,分別代表堆內(nèi)存使用量的變化,活動(dòng)線(xiàn)程數(shù)的變化量,已加載類(lèi)的數(shù)量 和CPU占用率的百分比。




內(nèi)存監(jiān)控

選擇內(nèi)存的選項(xiàng)卡,可以看到整個(gè)頁(yè)面都是堆內(nèi)存的信息,圖表一欄還可以切換,包含非堆內(nèi)存,Eden區(qū),Survivor區(qū),老年代,元空間等內(nèi)存使用情況。點(diǎn)擊右上角的執(zhí)行GC,可以強(qiáng)制執(zhí)行一次FullGC

線(xiàn)程監(jiān)控

主要就是關(guān)注是否存在死鎖,活鎖,死循環(huán)等線(xiàn)程
選擇線(xiàn)程的選項(xiàng)卡,可以看到線(xiàn)程數(shù)量的變化折線(xiàn)圖,折線(xiàn)圖下面顯示的程序中每一個(gè)線(xiàn)程,點(diǎn)擊具體的線(xiàn)程可以在右邊看到此線(xiàn)程的具體信息。

最下方有個(gè)檢測(cè)死鎖的按鈕(實(shí)現(xiàn)一個(gè)死鎖功能),可以自動(dòng)篩選出出現(xiàn)死鎖的線(xiàn)程,如下是死鎖的實(shí)現(xiàn)代碼

如下圖檢測(cè)到的兩個(gè)線(xiàn)程出現(xiàn)死鎖的信息

使用此功能可以方便的查看應(yīng)用的線(xiàn)程信息,也能很快的定位到死鎖問(wèn)題
相當(dāng)于之前文章說(shuō)的命令工具jstack

類(lèi)加載情況

如下圖就是顯示系統(tǒng)已經(jīng)裝載的類(lèi)的數(shù)量,還有已經(jīng)卸載的類(lèi)數(shù)量,這個(gè)類(lèi)信息不用關(guān)注太多

虛擬機(jī)信息

主要關(guān)注的是下圖中的堆內(nèi)存相關(guān)的信息
VM概要的選項(xiàng)卡,顯示了當(dāng)前應(yīng)用程序的運(yùn)行環(huán)境,包括虛擬機(jī)類(lèi)型,版本,堆信息,服務(wù)器信息,VM參數(shù),垃圾收集器等信息,具體內(nèi)容如下圖

總結(jié)

JConsole的使用效果和之前的文章中說(shuō)的命令工具效果是一樣的,不過(guò)這個(gè)是直接可視化的,查看更方便,但是需要在服務(wù)啟動(dòng)的時(shí)候加入固定的參數(shù)來(lái)使用JMX來(lái)監(jiān)控服務(wù)的進(jìn)程。





我是阿紀(jì),用輸出倒逼輸入而持續(xù)學(xué)習(xí),持續(xù)分享技術(shù)系列文章,以及全網(wǎng)值得收藏好文,歡迎主頁(yè)關(guān)注公眾號(hào),做一個(gè)持續(xù)成長(zhǎng)的技術(shù)人。 除了Java虛擬機(jī)相關(guān)的系列內(nèi)容 還有MySQL高級(jí)相關(guān)更多內(nèi)容,如鎖,MVCC,讀寫(xiě)分離,分庫(kù)分表等還在持續(xù)更新中,如果有想了解的內(nèi)容也可以給我留言,歡迎關(guān)注催更。
所有內(nèi)容首發(fā)于個(gè)人網(wǎng)站:紀(jì)先生進(jìn)階指南
歷史文章:

1. 虛擬機(jī)系列:JVM 運(yùn)行時(shí)堆內(nèi)存如何分代

2. 虛擬機(jī)系列:jvm中的垃圾回收算法

3. 虛擬機(jī)系列:jvm運(yùn)行時(shí)數(shù)據(jù)區(qū)

4. 虛擬機(jī)系列:對(duì)象的創(chuàng)建,內(nèi)存布局和訪問(wèn)定位

5. 虛擬機(jī)系列:jvm中的垃圾收集器

6. 虛擬機(jī)系列:jvm中的內(nèi)存分配

7. 虛擬機(jī)系列:搞懂虛擬機(jī)日志和日志參數(shù)

8. 虛擬機(jī)系列:虛擬機(jī)性能監(jiān)控基礎(chǔ)工具

9. 虛擬機(jī)系列:虛擬機(jī)性能監(jiān)控基礎(chǔ)工具-jstat



關(guān)鍵詞:虛擬,化工,系列,性能

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉