jvm 生成javacore和heapdump檔案

luckyfriends發表於2013-02-21

jvm 生成javacore和heapdump檔案

 
(1)如果使用Oracle JVM也就是標準的SUN JVM(SUN已被oracle收購)
當記憶體溢位時生成heapdump檔案配置如下
-Xloggc:${目錄}/temp_gc.log           (GC日誌檔案)
-XX:+HeapDumpOnOutOfMemoryError       (記憶體溢位時生成heapdump檔案)
-XX:HeapDumpPath=${目錄}              (heapdump檔案存放位置)

如果要即時動態生成heapdump檔案可以使用jmap命令,jdk6.0已取消了-XX:+HeapDumpOnCtrlBreak配置引數透過ctrl+break的方式。
jmap -dump:format=b,file=temp_heapdump.hprof

(2)HP JVM
-Xverbosegc:file=${目錄}/temp_gc.log  (GC日誌檔案)
-XX:+HeapDumpOnOutOfMemoryError       (記憶體溢位時生成heapdump檔案)
-XX:+HeapDumpOnCtrlBreak              (可以透過ctrl+break組合鍵動態生成heapdump檔案)
-XX:HeapDumpPath=${目錄}              (heapdump檔案存放位置)

(3)IBM JVM
非windows作業系統環境中
-XverboseGClog: ${目錄}/temp_gc.log   (GC日誌檔案)
-Xdump:heap:events=user,file=${目錄}/pid%uid%pid.phd
表示可以根據需要透過kill -3 產生DUMP檔案,%uid和%pid為變數

windows作業系統環境中
啟動wsadmin,進入wsadmin環境
wsadmin> set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
wsadmin> $AdminControl invoke $jvm generateHeapDump
wsadmin> $AdminControl invoke $jvm dumpThreads

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14710393/viewspace-754416/,如需轉載,請註明出處,否則將追究法律責任。

相關文章