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文件生成解析
java-dump文件
1, 。。。
《春宵》[宋]苏轼
春宵一刻值千金,花有清香月有阴。
歌管楼台声细细,秋千院落夜沉沉。
2,生成
-
- JVM的配置文件中配置:
例如:堆初始化大小,而堆最大大小
在应用启动时配置相关的参数 -XX:+HeapDumpOnOutOfMemoryError,当应用抛出OutOfMemoryError时生成dump文件。
在启动的时候,配置文件在哪个目录下面:
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=目录+产生的时间.hprof
JVM启动时增加两个参数:
#出现 OOME 时生成堆 dump:
-XX:+HeapDumpOnOutOfMemoryError
#生成堆文件地址:
-XX:HeapDumpPath=/home/liuke/jvmlogs/ -
- 发现程序异常前通过执行指令,直接生成当前JVM的dmp文件,6214是指JVM的进程号
jmap -dump:file=文件名.dump [pid]
jmap -dump:format=b,file=serviceDump.dat 6214
由于第一种方式是一种事后方式,需要等待当前JVM出现问题后才能生成dmp文件,实时性不高,第二种方式在执行时,JVM是暂停服务的,所以对线上的运行会产生影响。所以建议第一种方式。
-
- 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文件怎么生成的主要内容,如果未能解决你的问题,请参考以下文章