java-dump文件生成解析
Posted 红桃xin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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文件生成解析的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段