Intellij IDEA 整合 JProfiler 效能分析神器

HuDu發表於2020-07-16

什麼是Jprofile

JProfiler是由ej-technologies GmbH公司開發的一款效能瓶頸分析工具(該公司還開發部署工具)。
其特點:

  • 使用方便
  • 介面操作友好
  • 對被分析的應用影響小
  • CPU,Thread,Memory分析功能尤其強大
  • 支援對jdbc,noSql, jsp, servlet, socket等進行分析
  • 支援多種模式(離線,線上)的分析

這裡主要是作為分析 Dump 記憶體檔案,例如以下程式碼

//Dump;
public class Test5 {
    Byte[] array = new Byte[1024*1024];//1MB

    public static void main(String[] args) {
        ArrayList<Test5> list = new ArrayList<>();
        int count = 0;

        //Throwable
          //Exception
          //Error
        try {
            while (true) {
                list.add(new Test5());
                count = count +1;
            }
        }catch (Error e){
            System.out.println(count);
            e.printStackTrace();
        }
    }
}

一直迴圈在 list 集合裡新增新物件,新物件都會佔用1M的記憶體,會造成堆記憶體溢位:java.lang.OutOfMemoryError,由於堆記憶體溢位是Error,不是Exception,需要用Error來捕獲,在實際開發中有時很難檢查出錯誤,需要使用Jprofile來分析。

  • 先配置 Java 虛擬機器,在 VM Options 中新增配置

Intellij IDEA整合JProfiler效能分析神器

Intellij IDEA整合JProfiler效能分析神器

-Xms1m -Xmx8m -XX:+HeapDumpOnOutOfMemoryError

這裡是將 JVM 虛擬機器初始化總記憶體大小為1M,最大記憶體為8M,然後將堆記憶體溢位匯出為Dump檔案。

用 Jprofile 開啟
Intellij IDEA 整合 JProfiler 效能分析神器

可以看到記憶體佔用資訊
Intellij IDEA 整合 JProfiler 效能分析神器

具體程式碼問題
Intellij IDEA 整合 JProfiler 效能分析神器

下載

Plugins 中,搜尋下載安裝Jprofile

Intellij IDEA 整合 JProfiler 效能分析神器

官網下載

官網地址:Jprofile 官網地址

序列號

JProfiler11 序列號

L-J11-Everyone#speedzodiac-327a9wrs5dxvz#463a59

A-J11-Everyone#admin-3v7hg353d6idd5#9b4
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章