1.找到idea的插件搜索(preferences----plugins),然后输入visualvm

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(1)

2.完成visualVM Launcher的配置

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(2)

3.给visualVM安装Visual GC插件

首先打开visualVM,可以在idea中如下图直接打开

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(3)

也可以在命令行输入jvisualvm 后回车打开,点击工具-插件

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(4)

找到visual GC点击安装

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(5)

如果遇到了网络问题,可以直接复制弹窗中的地址直接在浏览器中下载

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(6)

然后在已下载中添加下载的文件,并进行安装

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(7)

最后可以看到visual GC已经安装成功了

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(8)

通过visual GC可以查看对应的Eden、suvivor、older区内的变化情况。

通过简单的一段代码来模拟下OOM的时候各个区的变化

public class TestOOM { static class BigObject { // 1M public byte[] space = new byte[1024 * 1024]; } public static void main(String[] args) throws Exception { List<Object> list = new ArrayList<>(); for (int i = 0; i < 200; i ) { list.add(new BigObject()); Thread.sleep(100); } } }

启动时设置下最大堆内存为100m,便于观察结果

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(9)

程序在运行一段时间后就OOM了

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at com.donny.ni.web.memory.TestOOM$BigObject.<init>(TestOOM.java:9) at com.donny.ni.web.memory.TestOOM.main(TestOOM.java:16)

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(10)

老年代都来不及垃圾回收就已经爆了~

内存溢出后我们一般都会生成dump文件,这个时候我们可以通过VisualVM来打开dump文件进行分析,点击文件选择装入即可。

mac安装jdk后怎么配置环境(mac中idea安装jvisualvm插件)(11)

,