使用JDK自帶的VisualVM進行Java程式的效能分析

i042416發表於2018-08-09

VisualVM是什麼?

VisualVM是JDK自帶的一個用於Java程式效能分析的工具,JDK安裝完畢後就有啦,在JDK安裝目錄的bin資料夾下能找到名稱為jvisualvm.exe。

要使用VisualVM分析您的應用效能,首先得讓VisualVM識別出您的應用。Eclipse有個外掛名叫“VisualVM Launcher for Eclipse”,可以幫助我們做到這一點。

Eclipse VisualVM Launcher的安裝和配置

1. 從下面的連結下載VisualVM Launcher外掛。下載完畢後,放到您本地Eclipse資料夾的plugins資料夾下。

http://visualvm.java.net/eclipse-launcher.html

你可以參考下圖我本地的Eclipse資料夾。注意這個外掛解壓之後,應該有一個名叫site.xml的檔案。

2. 在Eclipse裡,選單 “Help->Install New Software”, 點 “Local”, 把第一步下載的外掛檔案載入進去。

Plugin檔案已經被成功識別出來,可以安裝了。

3. 安裝完畢,重啟Eclipse,能在Eclipse的option裡能看到一個新的關於VisualVM的介面了。我們需要告訴Eclipse我們JDK自帶的VisualVM的可執行檔案具體路徑。這裡根據JDK的路徑指定即可。

注意JDK home可別錯誤指定成JRE的路徑了,否則Eclipse也會貼心地彈出錯誤提示:Error Starting VisualVM:You are running VisualVM using Java Runtime Environment(JRE)。

使用VisualVM進行效能測試

右鍵單擊您的Java專案,從右鍵選單裡選擇“Run as”->”Run configuration”, 建立一個新的應用程式啟動配置。

因為前面我們已經成功安裝了Eclipse VisualVM Launcher,所以此時發現除了Eclipse自帶的Eclipse JDT launcher之外,多了一個VisualVM Launch的選項。

2. 假設我自己實現了一個快速排序演算法,我想測一測它的效能。

首先我在下圖程式碼第57行執行我的快速排序演算法之處設定一個斷點。

然後使用前一步建立的基於Eclipse VisualVM Launcher的應用程式啟動配置,以除錯模式啟動我的Java應用。

斷點觸發,這樣VisualVM就成功識別到了我的Java應用。點選Profiler標籤頁:

當前狀態: profiling inactive.

點選CPU按鈕:

現在Profile處於啟用狀態了。

3. 回到Eclipse,按F8結束應用程式的執行。應用程式一旦結束,VisualVM會立即撲捉到這個事件,並彈出一個視窗通知我們:

點Yes,就可以查閱VisualVM為我們產生的效能評測分析報告了。

要獲取更多Jerry的原創技術文章,請關注公眾號”汪子熙”或者掃描下面二維碼:


相關文章