1. 程式人生 > >Java JVM(十):JavaVisualVM 的個人使用

Java JVM(十):JavaVisualVM 的個人使用

包括: 一. JavaVisualVM 概念 二. 個人對 JavaVisualVM 的使用 一. JavaVisualVM 概念

    該工具是Java 自帶的記憶體監測工具,可以監控CPU,堆,類,執行緒等資訊。整體如下圖所示:

圖1

詳細如下: 1. 監控執行緒:

圖2

2. 監控記憶體:


3. 建立dump 檔案,並且 dump 檔案對比(如下圖,可以知道哪些物件增加了,哪些物件減少了):


除此之外,還可以在外掛中心中下載外掛,比如 GC 外掛等,得到更多的資訊,如下圖:


二. 個人對 JavaVisualVM 的使用 在本人具體使用後,總的來說,感覺該工具可以大體上,粗略地看程式的執行。
  • 比如說,知道程式的執行緒目前有多少,是不是有一些異樣的執行緒(在分析Hibernate Search 執行緒過多的時候用到它來看一下執行緒,發現每個實體都建立了執行緒)。
  • 比如說,可以利用它知道目前的堆記憶體的使用情況(下載了 GC 外掛後),是不是記憶體經常爆滿,需要經常 GC。
    在後面重新看的時候才發現  dump 檔案對比,這樣可以知道某個時間段 有哪些物件增加了,增加了多少,是否符合常理,以此判斷是否出現記憶體洩露。
    大家還有什麼實際中使用JavaVisualVM的好的技巧,求指教。 參考: