Memory Analyzer 插件下載地址:http://www.eclipse.org/mat/downloads.phpphp
點擊進行下載html
3.將下載的文件解壓到MyEclipse的 dropins 文件夾下eclipse
4.建立和文件夾同名的.link文件,文件中的內容就寫上對應的地址(地址使用\\ 或者 /)工具
5.重啓MyEclipse,便可在window---->preferances中看到Memory Analyzer選項。post
1.建立測試Java代碼測試
/** *
-verbose:gc -Xms20M -Xmx20M
-XX:+HeapDumpOnOutOfMemoryErrorspa
* @author y * */ public class Test { static class OOMObject{ } public static void main(String[] args) { List<OOMObject> list = new ArrayList<OOMObject>(); while(true){ list.add(new OOMObject()); } } }
2.設置運行參數插件
參數解釋:3d
1,堆是存儲對象實例的,即本身寫的類都是在堆中進行內存分配的;設置堆的大小:-Xmx20M(最大值) ,-Xms20M(最小值)。
2,棧是存儲局部變量,操做棧,動態連接,方法出口(都在棧楨中) 的地方,調用方法時,會建立棧楨;設置棧的大小:-Xss128K。
3,方法區是存放Class的相關信息,如類名,訪問修飾符,常量池,字段描述,方法描述等。此外運行時常量池是屬於方法區的,即存放常量,靜態常量等;設置方法區大小,-XX:PermSize=10M和-XX:MaxPermSize=10M。
4,本地直接內存;設置本地直接內存大小:-XX:MaxDirectMemorySize(默認與-Xmx的值同樣)。code
3.運行程序,將會出現以下信息
分析:參照一下博客
http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html?ca=drs-
http://essen.iteye.com/blog/1825314
http://tivan.iteye.com/blog/1487855