• Linux下使用 Memory Analyzer


    一. 安装Memory Analyzer Tool

    打开eclipse >> Help >> Install New Software >> 点击Work With右边的Add,输入

    [Name]  MAT
    [Location]  http://archive.eclipse.org/mat/1.2/update-site/  

    点击OK >> 点击Install 窗口下的Select All(选择全部), 然后一直点  下一步  直到结束即可。

    二.使用Memory Analyzer

    创建java项目(只需一个类),代码(类名OOMObject)

     1 import java.util.ArrayList;
     2 import java.util.List;
     3 
     4 /**
     5  * Created by foreverenjoy on 16-7-9.
     6  */
     7 public class HeapOOM {
     8     static class OOMObject {
     9 
    10     }
    11 
    12     public static void main(String[] args) {
    13         List<OOMObject> list = new ArrayList<>();
    14 
    15         while (true) {
    16             list.add(new OOMObject());
    17         }
    18     }
    19 }
    JAVA Code

    在Debug Cofigurations中设置VM参数:

    -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError

    通过参数-XX:+HeapDumpOnOutOfMemoryError可以让虚拟机在出现内存溢出异常时Dump出当前的内存堆转存快照以便事后分析。

    点击debug运行项目,会出现

    java.lang.OutOfMemoryError: Java heap space
    Dumping heap to java_pid17179.hprof ...
    Heap dump file created [27535550 bytes in 0.099 secs]

    java_pid17179.hprof(虚拟机Dump出的内存堆转存快照)文件可以用Memory Analyzer Tool进行分析。



    点击File >> Open File >> 选中本Java项目下的java_pid17179.hprof(java_*.hprof) >> 选中Leak Suspecs Report >> Finish

    以下就是Memory Analyzer的分析结果

  • 相关阅读:
    系统测试的策略
    POJ1611(并查集)
    POJ2752(KMP)
    POJ3176(DP)
    HDU2579(BFS)
    HDOJ1175(BFS)
    HDOJ1242(BFS)
    HDOJ1180(BFS)
    HDOJ1372(BFS)
    HDOJ2717(BFS)
  • 原文地址:https://www.cnblogs.com/zyx1314/p/5656377.html
Copyright © 2020-2023  润新知