JVisualVM的使用实录
一、前言
JVisualVM是一個Java虛擬機的監(jiān)控工具,要是需要對JVM的性能進行監(jiān)控可以使用這個工具哦
使用這個工具,你就可以監(jiān)控到j(luò)ava虛擬機的gc過程了
那么,這么強大的工具怎么下載呢?
在JDK1.6后的版本是自帶這個工具,它就在你的jdk的bin目錄上
?如果是默認安裝的JDK,一般就在C盤,Program Files的java目錄,就會看到你的jdk版本,點進去之后打開bin這個文件夾,就可以看到這個軟件了
二、啟動JVisualVM
啟動方法:
1.進入jdk安裝目錄的bin目錄,雙擊打開這個程序
2.菜單鍵+R,輸入cmd進入命令行模式,輸入命令jvisualvm 啟動程序。注:要是使用命令行啟動的軟件,命令框可不能關(guān)閉哦,關(guān)閉了的話JVisualVM也會被關(guān)閉,切記切記!!!
?
啟動程序之后進入這個界面,這個就是JVisualVM的使用界面了
默認是沒有jvisual GC頁簽的,需要自己下載
三、安裝插件
使用之前,我們需要安裝一個插件,來更好的來觀察虛擬機的性能,點擊上方的工具-插件
在可用插件那里選擇下載,安裝一個VIsual GC的插件
一般會報錯,因為默認的鏈接已經(jīng)給轉(zhuǎn)移了,需要在設(shè)置那里把默認的鏈接更改
點擊設(shè)置,編輯,把URL更改一下
?
那URL填什么呢?先確定一下自己的jdk版本號,然后用以下鏈接去查看URL
確認版本號,可以菜單鍵+R,執(zhí)行cmd,輸入java -version來查看自己的版本號
?
?
我這邊是102
那就在這個網(wǎng)站:https://visualvm.github.io/pluginscenters.html
找到自己版本號的地址,復(fù)制URL到設(shè)置那里
?
然后再可用插件哪里就可以看到所有的插件,我們選擇?VIsual GC安裝即可。
然后重啟一下即可看到有visual GC這個選項了
四、使用
接下來我們看一下這個頁面的具體信息,我在本地已經(jīng)啟動了一個普通項目,沒有任務(wù)死鎖跟死循環(huán)。
可以看到GC time是指發(fā)生了多少次的GC,圖中就是發(fā)生了233次GC,就花了55.065s的時間,而下一行的Eden區(qū),也是發(fā)生了2328次GC,花費的時間也是30.316s,Old老年代區(qū)發(fā)生了77次GC,花費24.729s
?左邊的進度圖,就是說明內(nèi)存使用的情況,當圖中的色塊達到頂端的時候,就是內(nèi)存滿的時候,
當Eden區(qū)滿的時候垃圾回收機制就進行一次GC,把非垃圾對象推送到s0區(qū),給Eden騰出來空間,當Eden下次再滿的時候,垃圾回收機制就對Eden區(qū)跟s0區(qū)進行GC,然后把非垃圾對象推送到s1區(qū),當Eden再次滿的時候Eden區(qū)跟s1區(qū)進行GC,把非垃圾對象推送到s0,非垃圾對象一直在s0跟s1區(qū)間進行轉(zhuǎn)移,當對象的年代值超過15次時,把非垃圾對象推送到old老年區(qū),當Eden區(qū),s0,s1區(qū),old區(qū)都滿了的時候進行Full GC,Full GC的時候系統(tǒng)會進行STW,也就是系統(tǒng)當前線程暫停,方便清理,這時候是對用戶使用有影響的,因此我們調(diào)優(yōu)也主要是對Full GC來進行調(diào)整,盡量減少Full GC的次數(shù)。
總結(jié)
以上是生活随笔為你收集整理的JVisualVM的使用实录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AJAX自学笔记01
- 下一篇: windows phone (12) 小