Visual GC 插件使用

下載安裝

首先要下載VisualVM

下載地址:https://visualvm.github.io/download.html

不下載也可以熊榛,jdk本身自帶了,crm命令行執(zhí)行命令jvisualvm

如果是mac系統(tǒng)就下載下面的萍虽,下載完成后將壓縮包解壓到本地目錄盯孙,無需安裝姆吭,找到bin目錄下的visualvm.exe雙擊即可啟動(dòng)。

然后安裝Visual GC 插件

點(diǎn)擊菜單Tools券勺,選擇Pulgins,在第二個(gè)選項(xiàng)中找到Visual GC灿里,選中关炼,點(diǎn)擊Install,然后一路下一步即可安裝成功匣吊,如下圖

插件界面介紹

安裝完插件后重啟軟件儒拂,讓后打開idea,隨后便可以在左邊了Local中看到啟動(dòng)的idea應(yīng)用色鸳,雙擊即可進(jìn)入監(jiān)控頁面社痛,如下圖:

右邊就是Visual GC 插件的主要界面了,我們可以看到軟件運(yùn)行時(shí)的內(nèi)存變化情況

下面對(duì)上圖中的各個(gè)窗口區(qū)域做簡單介紹命雀,整個(gè)界面分為三個(gè)區(qū)域蒜哀,分別為:Spaces、Graphs和Histogram咏雌。

Spaces窗口:

上圖是呈現(xiàn)了程序運(yùn)行時(shí)我們比較關(guān)注的幾個(gè)區(qū)域的內(nèi)存使用情況

  • Metaspace:方法區(qū)凡怎,如果JDK1.8之前的版本,就是Perm赊抖,JDK7和之前的版本都是以永久代(PermGen)來實(shí)現(xiàn)方法區(qū)的统倒,JDK8之后改用元空間來實(shí)現(xiàn)(MetaSpace)。
  • Old:老年代
  • Eden: 新生代Eden區(qū)
  • S0和S1:新生代的兩個(gè) Survivor 區(qū)

Graphs窗口:

該窗口區(qū)域包含8個(gè)圖標(biāo)氛雪,以時(shí)間為橫坐標(biāo)動(dòng)態(tài)展示各個(gè)指標(biāo)的運(yùn)行狀態(tài)

下面從上往下對(duì)上圖中的各個(gè)圖標(biāo)表及其狀態(tài)進(jìn)行說明

  • Compile Time:編譯情況
    24266 compoles - 39.416s 表示編譯總數(shù)為24266房匆,編譯總耗時(shí)為39.416s。
    一個(gè)脈沖表示一次JIT編譯,脈沖越寬表示編譯時(shí)間越長浴鸿。

  • Class Loader Time:類加載情況
    49052 loaded井氢,39 unloaded - 29.937s表示已加載的數(shù)量為49052,卸載的數(shù)量為39岳链,耗時(shí)為29.537s花竞。

  • GC Time:總的(包含新生代和老年代)gc情況記錄
    123 collections,859.203ms Last Cause:Allocation Failure表示一共經(jīng)歷了123次gc(包含Minor GC和Full GC)掸哑,總共耗時(shí)859.203ms约急。

  • Eden Space:新生代Eden區(qū)內(nèi)存使用情況
    (200.00M,34.125M): 31.52M苗分,109 collections厌蔽,612.827ms表示Eden區(qū)的最大容量為200M,當(dāng)前容量為34.125M摔癣,當(dāng)前已使用31.52M奴饮,從開始監(jiān)控到現(xiàn)在在該內(nèi)存區(qū)域一共發(fā)生了109次gc(Minor GC),gc總耗時(shí)為612.827ms择浊。

  • Survivor 0和Survivor 1:新生代的兩個(gè)Survivor區(qū)內(nèi)存使用情況
    (25.000M戴卜,4.250M):1.757M表示該Survivor區(qū)的最大容量為25M(默認(rèn)為Eden區(qū)的1/8),當(dāng)前已用1.757M近她。

  • Old Gen:老年代內(nèi)存使用情況
    (500.000M,255.195M):206.660M,14 collections叉瘩,246.375ms表示老年區(qū)的最大容量為500M,當(dāng)前容量為255.195M粘捎,當(dāng)前已用206.660M薇缅,從開始監(jiān)控到現(xiàn)在在該內(nèi)存區(qū)域一共發(fā)生了14次gc(Full GC),gc總耗時(shí)為246.375ms攒磨,換算下可以看出單次Full GC要比Minor GC耗時(shí)長很多泳桦。

  • Metaspace:方法區(qū)內(nèi)存使用情況
    (1.053G,278.250M):262.345M表示方法區(qū)最大容量為1.053G,當(dāng)前容量為278.250M,當(dāng)前使用量為262.345MM。

Histogram窗口:

Histogram窗口是對(duì)當(dāng)前正在被使用的Survivor區(qū)內(nèi)存使用情況的詳細(xì)描述娩缰,如下

  • Tenuring Threshold:我們知道Survivor區(qū)中的對(duì)象有一套晉升機(jī)制灸撰,就是其中的每個(gè)對(duì)象都有一個(gè)年齡標(biāo)記,每當(dāng)對(duì)象在一次Minor GC中存活下來拼坎,其年齡就會(huì)+1浮毯,當(dāng)對(duì)象的年齡大于一個(gè)閾值時(shí),就會(huì)進(jìn)入老年代泰鸡,這個(gè)閾值就是Tenuring Threshold债蓝,要注意這個(gè)值不是固定不變的,一般情況下Tenuring Threshold會(huì)與Max Tenuring Threshold大小保持一致盛龄,可如果某個(gè)時(shí)刻Servivor區(qū)中相同年齡的所有對(duì)象的內(nèi)存總等于Survivor空間的一半饰迹,那Tenuring Threshold就會(huì)等于該年齡芳誓,同時(shí)大于或等于該年齡的所有對(duì)象將進(jìn)入老年代。

  • Max Tenuring Threshold:表示新生代中對(duì)象的最大年齡值啊鸭,這個(gè)值在JDK1.8中默認(rèn)為6锹淌,在JDK1.7及之前的版本中默認(rèn)為15,可以通過參數(shù)-XX:MaxTenuringThreshold來指定赠制。

  • Desired Survivor Size:Survivor空間大小驗(yàn)證閾值(默認(rèn)是survivor空間的一半)赂摆,用于給Tenuring Threshold判斷對(duì)象是否提前進(jìn)入老年代。

  • Current Survivor Size:當(dāng)前Survivor空間大小钟些,單位為字節(jié)(Byte库正,B)。

  • Histogram柱狀圖:表示Survivor中不同年齡段對(duì)象分布厘唾。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市龙誊,隨后出現(xiàn)的幾起案子抚垃,更是在濱河造成了極大的恐慌,老刑警劉巖趟大,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹤树,死亡現(xiàn)場離奇詭異,居然都是意外死亡逊朽,警方通過查閱死者的電腦和手機(jī)罕伯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叽讳,“玉大人追他,你說我怎么就攤上這事〉涸椋” “怎么了邑狸?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涤妒。 經(jīng)常有香客問我单雾,道長,這世上最難降的妖魔是什么她紫? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任硅堆,我火速辦了婚禮,結(jié)果婚禮上贿讹,老公的妹妹穿的比我還像新娘渐逃。我一直安慰自己,他們只是感情好围详,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布朴乖。 她就那樣靜靜地躺著祖屏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪买羞。 梳的紋絲不亂的頭發(fā)上袁勺,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音畜普,去河邊找鬼期丰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛吃挑,可吹牛的內(nèi)容都是我干的钝荡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼舶衬,長吁一口氣:“原來是場噩夢啊……” “哼埠通!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起逛犹,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤端辱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后虽画,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舞蔽,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年码撰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渗柿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脖岛,死狀恐怖朵栖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鸡岗,我是刑警寧澤混槐,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站轩性,受9級(jí)特大地震影響声登,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜揣苏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一悯嗓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧卸察,春花似錦脯厨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽临梗。三九已至,卻和暖如春稼跳,著一層夾襖步出監(jiān)牢的瞬間盟庞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國打工汤善, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留什猖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓红淡,卻偏偏與公主長得像不狮,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子在旱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容