【知识积累】使用JProfile分析dump文件

1、安装JProfile(本文使用JProfiler11)

自己百度下载一个破解版

2、从服务器上将dump文件拿下来

3、使用JProfile打开(打开比较久,需耐心等待)

4、查看Classes

5、查看Reference,选择一个class或者biggest object

6、查看

7、查看Graph

8、查看代码

该方法主要用来导出数据报表,可以看出,当list数量太大时,就会导致OOM。

TIPS:

生成Dump文件,JVM启动时添加参数:

#出现 OOME 时生成堆 dump: 
-XX:+HeapDumpOnOutOfMemoryError
#生成堆文件地址:
-XX:HeapDumpPath=/home/xxx/logs/

linux:

打开/tomcat_home/bin/catalina.sh文件 

JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -server -Xms6144m -Xmx6144m -XX:NewSize=384m -XX:MaxNewSize=450m -XX:PermSize=128m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/zyf/logs"

注:其中不设-XX:HeapDumpPath时,dump出的文件在/tomcat_home/bin目录下

windows:

打开/tomcat_home/bin/catalina.bat文件

set JAVA_OPTS=%JAVA_OPTS% -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump

 

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