我可以删除 Liberty Profile 服务器的 .dmp 和 .phd 文件吗?

Can I delete .dmp and .phd files of Liberty Profile server?

在文件夹 <WAS Liberty Profile root>\<profile>\usr\servers\defaultServer 中有许多名为 core.*.dmpheapdump.*.phd 的文件。当我部署的应用程序使用 4 MB 时,这些文件的大小介于 130 MB 和 1.3 GB 之间。

我可以删除这些文件 *.dmp 和 *.phd 吗?

这些文件有什么用?

简短回答:是的,删除它们是安全的,但您应该找出它们出现的原因,因为它可能表明您的应用程序 运行 不正确。

如果您的转储文件是很久以前创建的,或者您知道您正在调试 OutOfMemoryException 或者已经 运行 server javadump --include=heap,system 那么请继续删除这些文件。但是,如果您不断收到新的转储文件并且不知道为什么,请继续阅读。

核心文件和堆转储文件包含应用程序内存在特定时间点的快照。通常您这样做是为了在出现问题时捕获应用程序的状态,以便您可以使用分析工具对其进行检查并尝试找出问题所在。

例如,默认情况下,IBM JVM 将在抛出 OutOfMemoryException 时执行转储。这使您可以查看转储文件并查看哪些内容用完了所有内存。

如果你有相应的 javacore 文件,第四行左右应该说明为什么进行内存转储。

例如1TISIGINFO Dump Requested By User (00100000) Through com.ibm.jvm.Dump.javaDumpToFile(由运行 server javadump引起)

1TISIGINFO Dump Event "user" (00004000) received(由运行 kill -3引起)

如果它是一个 "user" 事件,则表明有东西要求 JVM 创建转储。如果不是,并且您仍然不确定是什么原因造成的,请检查您的 jvm.options 文件中是否有任何 -Xdump 选项,这些选项可用于导致 JVM 创建转储以响应某些事件。有关 in the Knowledge Center.

的更多信息