使用 HeapDumpOnOutOfMemoryError 参数对 JBoss 的堆转储

2022-08-31 06:24:40

我被告知,我可以将参数添加到我的JVM启动选项中,以在应用程序中出现内存不足错误时获得堆转储。我想知道这些数据被转储在哪里?它只是到控制台,还是到一些日志文件?如果只是控制台,如果我没有通过控制台登录到Unix服务器怎么办?-XX:+HeapDumpOnOutOfMemoryError


答案 1

以下是Oracle文档的内容:

默认情况下,堆转储是在 VM 的工作目录中名为 java_pid.hprof 的文件中创建的,如上例所示。您可以使用该选项指定备用文件名或目录。例如,将导致在目录中生成堆转储。-XX:HeapDumpPath=-XX:HeapDumpPath=/disk2/dumps/disk2/dumps


答案 2

您可以从 UNIX 控制台查看此转储。

堆转储的路径将作为变量提供,紧跟在放置上述变量的位置之后。

例如:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${DOMAIN_HOME}/logs/mps"

您可以从控制台在上述路径上查看转储。


推荐