爱程序网

2016021904 - 如何使用Memory Analyzer

来源: 阅读:

  如何使用Memory Analyzer呢?

  0.有内存溢出的代码code。《深入理解java虚拟机》中代码

 1 package neutron.oom.heap;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 /**
 6  * java堆内存溢出测试
 7  * VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
 8  * @author zhanght
 9  *
10  * result:
11  * java.lang.OutOfMemoryError: Java heap space
12    Dumping heap to java_pid21900.hprof ...
13    Heap dump file created [27535108 bytes in 0.120 secs]
14  */
15 public class Heap_OOM {
16     
17     public static void main(String[] args) {
18         List<Person> persons = new ArrayList<>();
19         while(true){
20             persons.add(new Person());
21         }
22     }
23 
24 }
25 
26 class Person {
27     
28 }

  1.在eclipse设置必要的参数(参考一下截图,由于对ubuntu使用截图不是很熟练,所以借用别人的截图来记录)

  参考博客地址:http://zpyueniao.blog.163.com/blog/static/14365064820147127443976/

  

  然后就到了参数设置的页面,按照A,B的顺序设置参数:(-XX:+HeapDumpOnOutOfMemoryError)避免写错误可以copy

  

  有点盗图的感觉,ubuntu使用不是非常熟练,截图起来比较困难。

  2.运行结果

  

  3.查看日志输出记录文件

  

  其中java_pid**.hprof是生成在workspace/Jvm_OOM下,这便是我们需要研究的异常信息

  4.研究生成的异常信息java_pid**.hprof(继续盗图,ubuntu截图好费劲,有待加强)

  

  

  5.显示结果如下

  

  更具体内容可以参照:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html?ca=drs-

  从安装到使用,具体的内容分析需要进一步学习

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助