MAT Memory Analyzer Tool 插件安裝(圖解)

前段時間做了一個項目,Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

出現這個錯誤,所以需要查找原因,所以就用到這個工具,安裝比較麻煩,貼出來和大家共享一下:

第一步:下載Eclipse MAT

下載地址:http://www.eclipse.org/mat/downloads.php

第二步:下載之後將壓縮包解壓,放置到Myeclipse 的\MyEclipse 9\dropins目錄下

解壓後會看見這些文件: 糾正下面一個錯別字不是"寫"是 "下"

第三步:按照下圖,A,B,C的順序進行對應的文件的創建

第四部:重啓Myeclipse,打開Window->Perferences,你會看見這個項目:


簡單的說一下使用(控制檯的)如果是tomcat或者是別的服務器需要你去查如何配置JVM參數:

以下是一個會導致java.lang.OutOfMemoryError: Java heap space的程序代碼:(very easy)

  1. package org.lx.test;  
  2.   
  3. import java.util.Date;  
  4. import java.util.HashMap;  
  5. import java.util.Map;  
  6.   
  7. public class OutOfMemoryTest {  
  8.     public static void main(String[] args) {  
  9.         Map<Integer,Date> map=new HashMap<Integer, Date>();  
  10.         for (int i = 0; i < 600000000; i++) {  
  11.             map.put(i, new Date());  
  12.         }  
  13.     }  
  14.       
  15.       
  16. }  

首先在運行之前有一些參數需要設置:


然後就到了參數設置的頁面,按照A,B的順序設置參數:(-XX:+HeapDumpOnOutOfMemoryError)避免寫錯誤可以copy

運行錯誤的程序代碼會看見以下結果:

那麼這時候就生成了一個文件java_pid3708.hprof,這個文件 在你的項目的根目錄下(myeclipse10)

那麼接下來我們就打開這個文件進行分析如何打開見下圖:(選中剛剛在項目根目錄下生成的文件java_pid3708.hprof打開)

打開之後你會看見下圖就OK了:



至於這其中問題如何查找請參考以下連接:

以下文章已經說的非常詳細了:

1.使用 Eclipse Memory Analyzer 進行堆轉儲文件分析

2.使用mat進行dump文件分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章