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 插件

安装即可

 

 

 

 

 

 

 

 

 

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