我在AIX机器上运行Core JAVA应用程序,它创建了一个名为“core”的文件。 我担心的是 1.我无法在“堆分析器”或“线程分析器”中打开此“核心”文件。 2.我需要使用哪些工具,以便我可以分析这个“核心”文件。 3.任何人都可以详细说明这个档案吗?为什么这个“核心”文件会创建。
等待回复..... 非常感谢
答案 0 :(得分:4)
core file表示JVM崩溃时记录的内存状态(即非Java级别信息,可在分析工具中进行分析)。这种类型的文件指示JVM中的错误或您通过JNI从Java应用程序中调用的本机库的问题。
您可以运行的一个命令是:
strings core | grep JAVA_HOME
...至少会告诉你哪个版本的JVM正在运行(因此可能负责核心转储)。
您也可以尝试在不同的操作系统或同一平台上运行您的应用程序,但使用不同版本的JVM来验证是否是导致崩溃的原因。
您可能还想查看this question,其中chillitom描述了一种将核心文件转换为HPROF文件的技术,以便使用Java内存分析器应用程序对其进行分析。这需要使用jmap
命令行工具; e.g。
# jmap -dump:format=b,file=dump.hprof /usr/bin/java core.1234