有人告诉我可以在-XX:+HeapDumpOnOutOfMemoryError我的JBoss启动脚本中将参数添加到JVM启动选项中,以在我们的应用程序出现内存不足错误时进行堆转储。我想知道这些数据在哪里转储?它只是到控制台还是一些日志文件?如果只是控制台,如果我没有通过控制台登录Unix服务器怎么办?
-XX:+HeapDumpOnOutOfMemoryError
这是Oracle文档必须说的:
默认情况下,堆转储在VM的工作目录中的一个名为java_ pid .hprof 的文件中创建,如上例所示。你可以使用该-XX:HeapDumpPath=选项指定备用文件名或目录。例如,-XX:HeapDumpPath=/disk2/dumps 将导致在/disk2/dumps 目录中生成堆转储。
java_ pid .hprof
-XX:HeapDumpPath=
-XX:HeapDumpPath=/disk2/dumps
/disk2/dumps