程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 2016021904,

2016021904,

編輯:JAVA綜合教程

2016021904,


  如何使用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-

  從安裝到使用,具體的內容分析需要進一步學習

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved