java dump文件怎么生成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java dump文件怎么生成相关的知识,希望对你有一定的参考价值。

1 choose one cluster member, set the following before this server start:
在was启动前设置下面环境变量(可以加在启动脚本中)
export IBM_HEAPDUMP=true
export IBM_HEAP_DUMP=true
export IBM_HEAPDUMP_OUTOFMEMORY=true
export IBM_HEAPDUMPDIR=<directory path>
2 please use set command to make sure you do not have DISABLE_JAVADUMP parameter
then start this cluster member.
用set命令检查参数设置,确保没有设置DISABLE_JAVADUMP,然后启动server
3 when you find free memory < 50% when no heavy access, please run kill -3 <pid>
执行kill -3 <pid>命令可以生成javacore文件和heapdump文件(pid为was java进程的id号,可以用ps -ef|grep java 查到),可以多执行几次,按照下面操作进行
ps -ef > psef1.txt
ps aux > psaux1.txt
vmstat 5 10 > vmstat.txt
kill -3 <app server id>
wait for 2 mins
kill -3 <app server id>
wait for 2 mins
kill -3 <app server id>
netstat -an> netstat2.txt
ps -ef > psef2.txt
ps aux > psaux2.txt
将上面产生的 txt 文件和/usr/WebSphere/AppServer/javacore*文件和heapdump文件拷贝到本地,然后删除这些文件,因为这些文件会占用较大的文件系统空间。
将/usr/WebSphere/AppServer/logs/wlmserver1(或2)目录下当天产生的日志拷贝出来
参考技术A /usr/java/jdk1.6.0_06/bin/jmap -dump:format=b,file=dump出的文件名 进程id

解释:用jmap 命令,在jdk里的bin目录下就有了。我的是在/usr/java/jdk1.6.0_06/bin/jmap。具体的,你可以百度一下,其它参数的用处

java-dump文件生成解析

1, 。。。

《春宵》[宋]苏轼
春宵一刻值千金,花有清香月有阴。
歌管楼台声细细,秋千院落夜沉沉。

2,生成

    1. JVM的配置文件中配置:

    例如:堆初始化大小,而堆最大大小
    在应用启动时配置相关的参数 -XX:+HeapDumpOnOutOfMemoryError,当应用抛出OutOfMemoryError时生成dump文件。
    在启动的时候,配置文件在哪个目录下面:
    -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=目录+产生的时间.hprof
    JVM启动时增加两个参数:
    #出现 OOME 时生成堆 dump:
    -XX:+HeapDumpOnOutOfMemoryError
    #生成堆文件地址:
    -XX:HeapDumpPath=/home/liuke/jvmlogs/

    1. 发现程序异常前通过执行指令,直接生成当前JVM的dmp文件,6214是指JVM的进程号

jmap -dump:file=文件名.dump [pid]
jmap -dump:format=b,file=serviceDump.dat 6214
由于第一种方式是一种事后方式,需要等待当前JVM出现问题后才能生成dmp文件,实时性不高,第二种方式在执行时,JVM是暂停服务的,所以对线上的运行会产生影响。所以建议第一种方式。

转载于

    1. kill -3 pid

首先查找到服务器的进程号(process id), 然后获取堆栈.

ps –ef  | grep java
kill -3

== 注意一定要谨慎, 一步不慎就可能让服务器进程被杀死! ==

3, jdk自带监控程序jvisualvm的使用解析

  • 如果用jmap -dump 生成的文件要
    您尝试打开的文件是 Head Dump 而不是 Core Dump 。
    请遵循以下步骤:
    Go to File > Load…
    Select the File Format: as Heap Dumps (*.hprof, .)
    Choose your file and click on Open.
find / -name jvisualvm # 查找位置

在这里插入图片描述

参考链接
参考链接

以上是关于java dump文件怎么生成的主要内容,如果未能解决你的问题,请参考以下文章

如何生成dump文件

如何生成WAS的heapdump文件

vc 怎么 生成 dump 文件

内存dump文件导出与查看

java-dump文件生成解析

阿里云生成jvm的dump文件