当系统宕机,我们需要分析系统宕机原因,除了日志还有两个非常关键的文件可以帮助我们快速找到问题,这两个文件就是javacore和heapdump。

javacore:是 Java 提供的一种诊断特性,能够提供一份可读的当前运行的 JVM 中线程使用情况的快照。即在某个特定时刻,JVM 中有哪些线程在运行,每个线程执行到哪一个类,哪一个方法。

heapdump:是在特定时刻JVM堆内存使用情况的快照,是分析OOM(内存溢出)的利器。

但是并不是所有JVM在宕机时都会生成这两个文件,需要开启相关参数才可以。

SUN/Oracle JVM

HotSpot JDK

如果要即时动态生成heapdump文件可以使用jmap命令

jmap -dump:format=b,file= <pid>

IBM JVM

IBM JDK

手工生成javacore文件

kill -3 pid

手工生成heapdump文件

启动wsadmin,进入wsadmin环境

生成heapdump

HP JVM

hp jdk

1.《如何查看几小时前的javacore,如何查看是否48小时》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何查看几小时前的javacore,如何查看是否48小时》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3297883.html