Java虚拟机(JVM)-- Dump内存快照

Posted CodeJiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java虚拟机(JVM)-- Dump内存快照相关的知识,希望对你有一定的参考价值。

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完后,如果这些文件闲置了可以清理删掉。



以上是关于Java虚拟机(JVM)-- Dump内存快照的主要内容,如果未能解决你的问题,请参考以下文章

Java虚拟机(JVM)-- Dump内存快照

Java虚拟机(JVM)-- Dump内存快照

jmap:java内存影像工具

JAVA内存泄露查询

java_JVM

jvm内存溢出性能调优