zoukankan      html  css  js  c++  java
  • 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的分析结果

  • 相关阅读:
    NVelocity的基本用法
    awk字符串处理
    R中去除为NA的行--转载
    从Github上轻松安装R包—githubinstall包--转载
    志诺维思(北京)基因科技有限公司
    密码子优化--转载
    reshape2 数据操作 数据融合( cast)
    rsync数据同步工具
    R语言中的字符串处理函数
    R中的sub替换函数【转】
  • 原文地址:https://www.cnblogs.com/zyx1314/p/5656377.html
Copyright © 2011-2022 走看看