IntelliJ IDEA jprofiler安裝及性能分析

Eclicpse 中可以集成MAT,即 Memory Analyzer Tool。進行性能分析。

而IntelliJ 裏面可以用jprofiler 進行vm 性能分析。

jprofiler功能

JProfile是一款性能瓶頸分析工具,監控粒度可以細化到某一個類包。

主要功能有:

1.內存剖析 Memory profiler
2.堆遍歷 Heap walker
3.CPU 剖析 CPU profiler
4.線程剖析 Thread profiler
5.VM 遙感勘測技術 VM telemetry

 

jprofiler安裝

首先,從官網下載安裝jprofiler

這裏我下載的v11版本,需要破解,這裏給個破解的鏈接

下載安裝後,效果如下

與IntelliJ集成

IntelliJ 裏安裝插件後,才能與jprofiler集成。下載鏈接

插件安裝成功後,重啓IntelliJ,可以看到已經有jprofiler 工具圖標

點擊圖標後,發現需要指定可執行的程序

windows上指向 bin\jprofiler.exe 文件即可。

mac上路徑應該是 Contents/Resources/app/bin/macos/jprofiler.sh

linxu上應是 bin/jprofiler

集成後,點擊圖標即可使用

 

實戰

測試代碼,這裏爲了看效果,每個循環中sleep 2s

public class MyMain {

    public static void main(String[] args) throws InterruptedException {
        Vector v = new Vector<>();
        for (int i = 0; i < 25; i++) {
            v.add(new byte[1 * 1024 * 1024]);
            Thread.sleep(2000);
        }
    }
}

配置jvm參數

參數如下:

-Xms10m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/zhangwei/logs/a.dump

點擊圖標運行,會自動啓動jprofiler

可以直接看出各個指標:內存、GC的活動、類、線程等

JVisualVM

導出的 dump文件,可以用 分析

mac上java路徑如下;

/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/bin

執行命令啓動

./jvisualvm

 

啓動後利用visualvm打開剛纔的dump文件

 

查看dump快照發現,第二行的實例最多

可以查看各個類的實例和大小

安裝Visual GC

Visual GC是Visual VM的一個插件。

執行命令啓動 Visual VM

 

點擊菜單: 工具 => 插件 

勾選 後安裝即可:

然後選擇某個VM,點擊 “Visual GC”即可查看

提供:Spaces、Graphs、Histogram。

 

Spaces
Metaspace(Java8以前是持久代 Perm)
Old:老年代
Eden: 新生代Eden區
S0和S1:新生代的兩個 Survivor 區


Graphs
大概8個指標的時間動態圖


Histogram
Survivor區內存使用的詳細情況

 

安裝BTrace

Btrace基於動態字節碼修改技術(Hotswap)來實現運行時java程序的跟蹤和替換。腳本用java編寫的。

勾選 BTrace 插件

安裝即可

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章