当前位置: 首页 > 面试题库 >

Java使用HeapDumpOnOutOfMemoryError参数进行JBoss的堆转储

陆飞鸿
2023-03-14
问题内容

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


问题答案:

这是Oracle文档必须说的:

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



 类似资料:
  • 我想将XMl转换为另一种XMl格式。假设我在ats中有一个逻辑。埃姆沃。使改变TransformXml java文件如何集成以在camel上下文输入中转换tis(file:///d:/in)是xml文件,我想将其另存为xml。我已经将此文件作为bean类添加到camel

  • jmap帮助显示: ... ... 一旦我转储一个Tomcat(带有java参数-Xmx384m)堆: 我有一个300M的转储文件。 当我只使用活动对象转储其堆时: 我有一个120M的转储文件。 我对活物体的猜测可能是: > 年轻一代中的对象; 使用/引用/可访问且不会被收集的对象。 哪一个是对的? 使现代化 我的猜测#2似乎是正确的,感谢Alexey Ragozin的解释(选项将导致完整GC)。

  • 问题内容: 我正在尝试编写一个使用堆栈的简单程序,这给了我错误 堆栈类型不是通用的。不能使用参数对其进行参数化 问题答案: 你的课快要开始了。您可以重命名您的班级,也可以使用完全限定的班级名称,例如

  • 问题内容: 我正在用Java 7中的转义分析进行一些测试,以便更好地了解哪些对象可以进行堆栈分配。 这是我编写的用于测试堆栈分配的代码: 这是它在Linux上与Java 7一起输出的结果 我正在使用GC日志来了解是否在堆栈上分配了对象,这可能不是100%可靠的,但似乎给出了很好的提示。 基于输出,堆栈分配适用于test1,test3,test4和test6,不适用于test2和test5。我不明白

  • 在任何事情之前,我确切地说,我在这个论坛和其他论坛上找到了这个主题,但在这些论坛上给出的解决方案没有一个对我有效。 正如您在屏幕右上角看到的那样,OKHTTP.jar已经添加到构建路径中,并且两个import语句(通过按“Ctrl+shift+O”生成)正确地跟随左侧的包Explore中出现的语句。 我也尝试过在没有eclipse的情况下进行此操作(将OKHTTP.jar和类放在同一个文件夹中,并

  • 我正在分析几个堆转储,并对从堆转储获取jvm参数的方法感兴趣。使用eclipse memory analyzer我可以很容易地获得系统属性和类路径,但我想知道是否有方法获得其他参数,如-xms-xmx等。