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 IDEA jprofiler安装及性能分析_第1张图片

与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参数

IntelliJ IDEA jprofiler安装及性能分析_第2张图片

参数如下:

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

点击图标运行,会自动启动jprofiler

IntelliJ IDEA jprofiler安装及性能分析_第3张图片

可以直接看出各个指标:内存、GC的活动、类、线程等

JVisualVM

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

mac上java路径如下;

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

执行命令启动

./jvisualvm

 

启动后利用visualvm打开刚才的dump文件

IntelliJ IDEA jprofiler安装及性能分析_第4张图片

 

查看dump快照发现,第二行的实例最多

IntelliJ IDEA jprofiler安装及性能分析_第5张图片

可以查看各个类的实例和大小

安装Visual GC

Visual GC是Visual VM的一个插件。

执行命令启动 Visual VM

 

点击菜单: 工具 => 插件 

IntelliJ IDEA jprofiler安装及性能分析_第6张图片

勾选 后安装即可:

然后选择某个VM,点击 “Visual GC”即可查看

IntelliJ IDEA jprofiler安装及性能分析_第7张图片

提供:Spaces、Graphs、Histogram。

 

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


Graphs
大概8个指标的时间动态图


Histogram
Survivor区内存使用的详细情况

 

安装BTrace

Btrace基于动态字节码修改技术(Hotswap)来实现运行时java程序的跟踪和替换。脚本用java编写的。

勾选 BTrace 插件

IntelliJ IDEA jprofiler安装及性能分析_第8张图片

安装即可

 

 

 

 

 

 

 

 

 

你可能感兴趣的