【问题标题】:How do I stop .mdmp files from being created如何停止创建 .mdmp 文件
【发布时间】:2015-07-28 23:43:43
【问题描述】:

我有一个 Solr 实例,它由最近开始创建小型转储文件的 Tomcat 托管。任何日志中都没有错误,Solr 继续顺利工作。

这些文件大约为 14GB,正在填满硬盘。有没有办法在我们调查此问题时将其关闭?

【问题讨论】:

标签: java tomcat solr


【解决方案1】:

一般来说,当 JVM 崩溃时,hs_err 错误日志文件(由-XX:ErrorFile 控制)的内容通常足以指出问题所在。

为防止 Oracle JVM Hotspot 生成 Windows minidump(mdmp 文件),命令行中使用的 JVM 选项为:-XX:-CreateMinidumpOnCrash

它自 2011 年以来就存在,但很难找到:How to disable minidump (mdmp) files generation with Java Hotspot JVM on Windows

【讨论】:

    【解决方案2】:

    这篇文章提供了有关 Linux 和 Windows JVM 转储文件的不错信息。还没有在我当前版本的 Java 7 上自己测试它....

    From that site:

    禁用文本转储文件

    如果您怀疑创建文本转储文件有问题,您可以使用以下选项关闭文本转储文件:-XXnoJrDump。

    禁用二进制崩溃文件

    您可以使用以下选项关闭二进制崩溃文件:-XXdumpSize:none。

    【讨论】:

    • 欢迎来到 SO!请避免仅基于链接的回答。相反,请尝试根据您在此网站上看到的内容提供答案。
    • 请注意,这些选项适用于 JRockit JVM,而不是标准的 Hotspot 版本
    • 仅供参考:这是 JRockit JVM 和 HotSpot JVM 选项的映射表:docs.oracle.com/javacomponents/jrockit-hotspot/migration-guide/… -- 不幸的是,一些转储选项仅出现在 JRockit JVM 列中。
    【解决方案3】:

    您使用的是 Java 7 吗?在这种情况下,请恢复到 Java 5 或 6。Lucene/Solr 和 Java 7 不能很好地结合在一起,这可能会创建转储文件。否则,如果一切正常,只需禁用文件转储。

    【讨论】:

    • 我无法找到禁用转储的方法。我该怎么做呢?
    • 如果您告诉我们什么操作系统可能会有所帮助?也尝试谷歌搜索。有很多关于禁用小型转储的文章。
    • 这是 Windows Server 2008,但禁用转储不是 java 选项吗?祝你好运找到那篇文章,我已经找了好几天了。
    • 检查我的电脑上的属性,然后转到高级选项卡。在启动和恢复下,有一个禁用小型转储的选项。您从未回答过您是否使用 Java 7 的问题。那么您也会有原因。
    • 这会禁用操作系统创建的小型转储,但不会禁用 JAVA 创建的小型转储。我仍然没有找到解决方案。
    【解决方案4】:

    我从未找到在 Windows 上禁用 Java minidumps 的方法。奇怪的是服务器上的一切都正常工作,除了硬盘驱动器充满了小型转储。

    我们最终将相同版本的 Solr/Java/Tomcat 重新安装到 linux 机器上,不再出现问题。我想将所有东西重新安装到 Windows 机器上也可以解决问题。这很奇怪。

    【讨论】:

    • Inunno 有一个答案 here,它适用于我在 Windows 7 上使用 Java 1.7.0_13。
    猜你喜欢
    • 2018-07-09
    • 2011-03-15
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 2010-12-17
    • 2013-10-04
    • 2013-03-27
    • 1970-01-01
    相关资源
    最近更新 更多