Weblogic HeapDump 配置

 悲催的前个星期,生产环境的Weblogic连续两次OOM(OutofMemory)后宕机,不得不在礼拜日回去看log分析问题。

但是由于内存参数没有配置GC参数,没能生成当时宕机前的HeapDump文件。所以还是要配置上GC参数才能在下次查出问题根本。

 

配置内存参数方法,没找到在Weblogic console那里直接可以配置内存参数的方法,只能直接在bea/user_projects/domains/domain/bin/setDomainEnv.sh上增加

“-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak -Xloggc:$$.gc.log” 

 

配置如下:

Weblogic HeapDump 配置_第1张图片

 

-XX:+PrintGCDetails:                               用来跟踪系统GC的详细情况;

-Xloggc:$$.gc.log:                                    将每次GC事件的相关情况记录到一个文件中。

-XX:+PrintGCTimeStamps:                      可与-XX:+PrintGC -XX:+PrintGCDetails混合使用输出形式:11.851: [GC 98328K->93620K(130112K), 0.0082960 secs]

-XX:+HeapDumpOnOutOfMemoryError:    JVM在出现OOM异常的时候Dump出内存映像文件

-XX:+HeapDumpOnCtrlBreak:                表示可以通过kill  -3  <pid>根据需要产生DUMP文件

 

但注意:

       Oracle JVM的6.0版本去掉了-XX:+HeapDumpOnCtrlBreak参数,如果需要产生DUMP文件,请采用jmap命令,命令行格式如下:

       jmap  -dump:format=b,file=managed1_heapdump.hprof  <pid>

      其中managed1_heapdump.hprof表示生成的DUMP文件名称,pid表示Java进程号。

 

 

###############################################################################

 

产生的.hprof文件使用HeapAnalyzer工具,HeapAnalyzer是一款针对IBM JDK的内存文本镜像HeapDump的分析工具。

Weblogic HeapDump 配置_第2张图片

你可能感兴趣的:(oom,heapdump)