Java OOM监控工具使用
在编写Java代码时,经常会遇到OOM内存溢出,遇到这种情况时,一般会使用开源OOM分析工具,来分析内存溢出时的dump文件,下面主要介绍几种监控工具的使用。
一、IBM HeapAnalayzer
工具的下载
该工具是一个独立的jar包,我们只需运行jar包,然后就会弹出该工具的使用界面。
访问网址https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=4544bafe-c7a2-455f-9d43-eb866ea60091,然后点击链接“Download HeapAnalyzer”,就能下载到最新的IBM HeapAnalayzer。
工具的运行
在运行该工具时,会有个比较恶心的问题,就是该工具在解析dump文件时,会遇到内存不足的问题。因此需要加载该jar包在运行时使用的内存:
首先,打开CMD命令
然后输入如下命令:
java -Xms512m -Xmx1024m -jar IBMHeapAnalayzer监控工具全名
package test;import java.util.ArrayList;import java.util.Date;import java.util.List;/** * @author zhengtian * * @date 2011-6-17 下午02:39:24 */@SuppressWarnings("all")public class test {public static void main(String[] args) {List<Date> list = new ArrayList<Date>();while (true) {Date date = new Date();list.add(date);date = null;}}}-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=C:\Users\Administrator\Desktop\javaHeapDump.hprof





,会显示内存对象中所占的内存大小,如图: