2

我在 AIX 机器上运行一个 Core JAVA 应用程序,它创建了一个名为“core”的文件。我担心的是 1. 我无法在“堆分析器”或“线程分析器”中打开这个“核心”文件。2.我需要使用哪些工具,这样我才能分析这个“核心”文件。3. 谁能详细说明这个文件?为什么这个“核心”文件创建。

等待回复.....非常感谢

4

1 回答 1

4

核心文件表示JVM崩溃时记录的内存状态(即不是可以在分析工具中分析的Java级别信息)。这种类型的文件表示 JVM 中的错误或您通过 JNI 从 Java 应用程序中调用的本机库的问题。

您可以运行的一个命令是:

strings core | grep JAVA_HOME

...这至少会告诉你哪个版本的 JVM 正在运行(因此可能负责核心转储)。

您还可以尝试在不同的操作系统或同一平台上使用不同版本的 JVM 运行您的应用程序,以验证这是否是导致崩溃的原因。

您可能还想查看这个问题,其中 chilitom 描述了一种将核心文件转换为 HPROF 文件的技术,以便使用 Java 内存分析器应用程序对其进行分析。这需要使用jmap命令行工具;例如

# jmap -dump:format=b,file=dump.hprof /usr/bin/java core.1234
于 2010-04-06T11:09:57.137 回答