java core 分析_JavaCore文件分析 | 學步園

JavaCore文件记录了Java应用各线程在特定时刻的运行状态,主要关注CPU层面,展示线程执行栈。HeapDump文件则保存了堆内存的对象使用情况,用于分析内存溢出。当遇到系统问题时,可以通过`kill -3 <进程号>`手动生成这两个文件。通过对比不同时刻的JavaCore文件,可以定位可能导致系统崩溃的长时间运行的点。HeapDump文件需要工具如IBM Heap Analyzer进行分析。
摘要由CSDN通过智能技术生成

產生時間

Java程序運行時,有時會產生JavaCore及HeapDump文件,它一般發生於Java程序遇到致命問題的情況下。

有時致命問題發生後,Java應用不會死掉,還能繼續運行;

但有時致命問題發生,Java進程會死掉;

為了能夠保留Java應用發生致命錯誤前的運行狀態,JVM在死掉前產生兩個文件,分別為JavaCore及HeapDump文件。

有何區別

JavaCore是關於CPU的,而HeapDump文件是關於內存的。

JavaCore文件主要保存的是Java應用各線程在某一時刻的運行的位置,即JVM執行到哪一個類、哪一個方法、哪一個行上。它是一個文本文件,打開後可以看到每一個線程的執行棧,以stack trace的顯示。通過對JavaCore文件的分析可以得到應用是否“卡”在某一點上,即在某一點運行的時間太長,例如數據庫查詢,長期得不到響應,最終導致系統崩潰等情況。

HeapDump文件是一個二進制文件,它保存了某一時刻JVM堆中對象使用情況,這種文件需要相應的工具進行分析,如IBM Heap

Analyzer這類工具。這類文件最重要的作用就是分析系統中是否存在內存溢出的情況。

怎麼生成

這兩個文件可以用手工的方式生成,當我們會遇到系統變慢或無響應的情況,這時就以採用手工的方式生成JavaCore及HeapDump文件。

在Unix/Linux上,產生這兩個文件的方法如下:

# ps -ef | grep java

user46164582017:30pts/000:00:00grep java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值