加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何停止创建在JVM实例中创建的Heap文件,java核心文件.

发布时间:2020-12-15 01:02:11 所属栏目:Java 来源:网络整理
导读:在我们的服务器的一个实例中,正在创建heapdump,javacore,Snap文件. 如何停止创建这些文件.请帮助我.因为堆文件使我们的应用程序运行缓慢,必须删除它并回收实例. 解决方法 您的应用程序可能因某些内存问题而变慢.禁用这些转储虽然简单(只需添加-Xdump:none J
在我们的服务器的一个实例中,正在创建heapdump,javacore,Snap文件.
如何停止创建这些文件.请帮助我.因为堆文件使我们的应用程序运行缓慢,必须删除它并回收实例.

解决方法

您的应用程序可能因某些内存问题而变慢.禁用这些转储虽然简单(只需添加-Xdump:none JVM参数),但无法解决问题的根本原因.

您应该打开其中一个javacore文件并检查此行,它将告诉您为什么要触发转储:

1TISIGINFO     Dump Event

你很可能会在那里看到这个原因:

Detail "java/lang/OutOfMemoryError" "Java heap space" received

如果是这种情况,那么使用以下两者中的任何一个打开一个heapdumps:

>安装了DTFJ插件的Eclipse MAT(http://www.eclipse.org/mat)(http://www.ibm.com/developerworks/java/jdk/tools/dtfj.html)
> Memory Analyzer与Support Assistant捆绑在一起,查看JVM转储的原因.

分析堆转储并非易事,但在大多数情况下,您可以简单地请求发现泄漏的“泄漏嫌疑人”报告.

如果您熟悉在该JVM中运行的代码或者可以访问开发人员,那么您也可以处理核心转储(假设它没有被截断,请检查:http://www-01.ibm.com/support/docview.wss?uid=swg21584396)并使用Memory Analyzer打开生成的zip文件.这应该可以让你更深入地了解真实情况.

禁用转储只会隐藏问题!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读