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

是否可以指定JVM的故障转储的位置?

苏坚成
2023-03-14
问题内容

我们有一个使用JNI的桌面应用程序,该应用程序有时会导致JVM崩溃。幸运的是,JVM产生了一个hs_err_pidXXXX.log文件,该文件对于调试此类错误非常有用。但是,它似乎总是转到当前的工作目录,并且从那里进行挖掘很烦人,因为我们的其他日志文件都转到了特定的“日志文件位置”。

可以为那些“崩溃转储”文件指定不同的位置吗?怎么样?


问题答案:

乔纳斯

尽管HeapDumpPath适用于堆转储,但这并不是您所提问题的答案。堆转储和jvm崩溃日志是两个独立的部分。

要更改jvm崩溃日志的目标,请使用以下选项运行java:

-XX:ErrorFile=/path/to/file.

路径/到/文件是您希望JVM崩溃日志输出的位置。



 类似资料:
  • 每个人都知道可以从正在运行的JVM中获得堆转储。另一种方式可能吗?我们可以使用堆转储来启动JVM吗? 这个问题我已经想了很久了。如果这是可能的,它将解决大量的时间,并使支持工程师容易思考。如果我们必须重新创建一些我们的客户所面临的罕见的问题,那么它就会大有帮助。[假设底层硬件和Java运行时是相同的,并且所有的支持文件也存在于文件系统中各自的位置]。 添加注意:这样做的意图不是在OOM发生时,而是

  • 问题内容: 情况是这样的,我的macbook pro有两个网络接口。一个是静态定义的以太网接口,另一个是DHCP配置的无线接口。 我试图弄清楚如何配置特定的Java项目以仅使用我的静态有线接口,而不是简单地通过JVM或IDEA(IntelliJ 8)选择列表中的第一个接口。 我设法通过一个vmware实例实现了这一目标,在该实例中,我的虚拟环境仅靠有线接口提供,但这会带来广告性能问题,并且只是在W

  • 本文向大家介绍btrace定位生产故障的方法示例,包括了btrace定位生产故障的方法示例的使用技巧和注意事项,需要的朋友参考一下 前言 很多时候我们需要知道更多的程序的运行细节,但又不可能在开发的时候就把程序中所有的运行细节都打印到日志上,通常这个时候能采取的就是修改代码,重新部署,然后再观察,但这种方法对于online应用来说不是很好,另外一方面如果碰到不好改的代码,例如引用的其他的外部的包什

  • 我是JUnit4的新手,我习惯于用Google测试C。我使用assertEquals()编写了一段包含许多检查的代码。我想它会输出一些日志信息,告诉用户检查是否成功以及原因,然后继续下一步的操作。但它正在阻止死刑的执行。 我已经搜索了这个主题,似乎JUnit的设计与Google Test不同,所以我应该对每个断言使用@Test方法。但是有没有其他方法可以得到我想要的东西?我读到了验证方法而不是断言

  • 我正在尝试用6台机器实现一个Redis集群。我有一个由六台机器组成的流浪集群: 运行redis服务器 我编辑了上述所有服务器的/etc/redis/redis.conf文件,添加了这个 然后我在六台机器中的一台上运行了这个程序; Redis集群已启动并运行。我通过在一台机器上设置值手动检查它显示在其他机器上。 我的问题是,当我关闭或停止任何一台主机上的redis server时,整个集群都会停止运

  • 我安装了墨盒,并将其缩放到3个档位。每个的设置为2。在我将从: 致: 现在,在重新启动墨盒后,它看起来一切正常,直到我杀死主人。奴隶们只是坐在那里数着他们上次看到的几秒钟...他们(其中一个)的日志上写着: