问题分析-JavaCore 与 HeapDump 的区别

本文深入探讨JavaCore与HeapDump文件的区别与作用,详细解释它们如何帮助诊断Java应用程序的CPU与内存问题,包括文件的生成方式、内容及分析工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  JavaCore 与 HeapDump: 

    有时致命问题发生后,Java应用不会死掉,还能继续运行;

但有时致命问题发生,Java进程会死掉;为了能够保留Java应用发生致命错误前的运行状态,

JVM在死掉前产生两个文件,分别为JavaCore及HeapDump文件。

 

       他们的区别主要如下表所示:

关键字JavaCoreHeapDump
作用关于CPU的
它能获取应用是否“卡”在某一点上。
例如:数据库查询,长期得不到响应,最终导致系统崩溃等情况。
关于内存的
分析系统中是否存在内存溢出。
例如:内存中加载的数据量过于庞大,如一次从数据库取出过多数据。
包含内容Java应用各线程在某一时刻的运行的位置
(如::时间,类,方法,行数,打开后可以看到每一个线程的执行栈)
保存了某一时刻JVM堆中对象使用情况,包含:
1.所有的对象信息
2.所有的类信息
3.垃圾回收的根对象
4.线程栈及局部变量 
文件格式文本文件
(文本编辑器正常打开)
二进制文件
(使用工具进行分析,如IBM Heap Analyzer这类工具)
获取方式根据进程号<pid>杀javacore
/opt/wildfly/openjdk/openjdk-1.8.0_92/bin/jstack <pid> > javacore`date +%Y%m%d%H%M%S`.txt
/opt/wildfly/java64/jdk1.7.0_25/bin/jstack <pid> > javacore`date +%Y%m%d%H%M%S`.txt
JDK 自带的jvisualvm监控工具
在JDK安装目录/bin目录下,可以设置在发生内存溢出时自动生成Dump文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值