1. Dump内存快照
- 在运行java程序的时候,有时候想测试运行时占用内存情况,这时候就需要使用测试工具查看了。在eclipse里面有 Eclipse Memory Analyzer tool(MAT)插件可以测试,而在idea中也有这么一个插件,就是JProfiler,一款性能瓶颈分析工具!
网络异常,图片无法展示
|
1.1 安装JProfiler
1.1.1 IDEA插件安装
网络异常,图片无法展示
|
安装之后可以看见多了一个JProfiler的Icon
网络异常,图片无法展示
|
1.1.2 安装JProfiler监控软件
JProfiler监控软件官网:
下载:
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
安装:
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
注意:安装路径,建议选择一个文件名中没有中文,没有空格的路径 ,否则识别不了。然后一直点Next
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
配置IDEA运行环境:
Settings–Tools–JProflier–JProflier executable选择JProfile安装可执行文件。(如果系统只装了一个版本,启动IDEA时会默认选择)保存
网络异常,图片无法展示
|
1.2 使用JProfiler
测试代码:
public class Test { byte[] byteArray = new byte[1024 * 1024];//1M = 1024K public static void main(String[] args) { ArrayList<Test> list = new ArrayList<>(); int count = 0; try { while (true) { list.add(new Test()); count = count + 1; } } catch (Error e) { System.out.println("count:" + count); e.printStackTrace(); } } }
vm参数 : 把初始内存设置为1MB 总内存设置为8MB
网络异常,图片无法展示
|
-Xms1m -Xmx8m -XX:+HeapDumpOnOutOfMemoryError
网络异常,图片无法展示
|
运行结果:
网络异常,图片无法展示
|
使用JProfiler
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
查看最大对象:
网络异常,图片无法展示
|
补充: 文件Dump完后,如果这些文件闲置了可以清理删掉。
网络异常,图片无法展示
|