1:下載IBM HeapAnalyzer分析工具包:ha453.jar包
進入jar包目錄-->用cmd命令:java -Xmx800m -jar ha453.jar -->運行後打開heapDump文件:java_pid4944.hprof 【下面是生成heapDump文件的方法】
方法一:
如果手動啓動tomcat則
打開win7:tomcat/bin/catalina.bat【Linux:catalina.sh】中添加下面設置set JAVA_OPTS=-XX:+HeapDumpOnOutOfMemoryError
如果用Eclipse啓動Tomcat則
Preferences --> Installed JREs --> Edit當前項目的jdk jar包
--> 設置Default VM Arguments:-XX:+HeapDumpOnOutOfMemoryError
【解釋:-XX:+HeapDumpOnOutOfMemoryError:當程序拋出heap dump space異常時,會生成一個hprof文件:如java_pid4944.hprof,位置可能在classpath或tomcat/bin】
方法二:
進入JDK安裝目錄:C:\Program Files\Java\jdk1.6.0_45\bin -->雙擊:jconsole.exe 【圖形工具很好用】
連接:org.apache.catalina.startup... --> MBean -->com.sun.management>HotSpotDiagnostic>操作>dumpHeap中,點擊 dumpHeap按鈕。
生成的dump文件在jdk1.6.0_45\bin目錄下面
方法三:
使用$JAVA_HOME/bin/jmap -dump來觸發,eg:jmap -dump:format=b,file=/home/longhao/heamdump.out <pid>
方法四:
使用hprof。啓動虛擬機加入-Xrunhprof:head=site,會生成java.hprof.txt文件。該配置會導致jvm運行非常的慢,不適合生產環境。