如何分析来自 Java 核心转储的信息?[已关闭]
如果一个进程崩溃并留下了一个核心转储,或者我创建了一个,那么我该如何分析它?gcore
我希望能够使用,等,并查看所有变量的值。jmap
jstack
jstat
通过这种方式,我可以找到JVM崩溃或冻结的原因。
如果一个进程崩溃并留下了一个核心转储,或者我创建了一个,那么我该如何分析它?gcore
我希望能够使用,等,并查看所有变量的值。jmap
jstack
jstat
通过这种方式,我可以找到JVM崩溃或冻结的原因。
好的,如果你已经用 gcore 或 gdb 创建了核心转储,那么你需要把它转换成一个叫做 HPROF 文件的东西。这些可以由VisualVM,Netbeans或Eclipse的Memory Analyzer Tool(以前称为SAP Memory Analyzer)使用。我会推荐Eclipse MAT。
要转换文件,请使用命令行工具 jmap。
# jmap -dump:format=b,file=dump.hprof /usr/bin/java core.1234
哪里:
dump.hprof 是您要创建的 hprof 文件的名称
/usr/bin/java 是生成核心转储的 java 二进制文件的路径
core.1234 是你的常规核心文件。