jvm 生成javacore和heapdump文件

来源:互联网 发布:单身比例 知乎 编辑:程序博客网 时间:2024/05/19 17:22

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 <pid>

(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 <pid>产生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
0 0
原创粉丝点击